Firefly开源社区

标题: 工具分享:检测内核配置是否支持Docker等容器 [打印本页]

作者: Liuth    时间: 2021-12-2 20:30
标题: 工具分享:检测内核配置是否支持Docker等容器
本帖最后由 Liuth 于 2021-12-3 14:36 编辑

使用Docker等容器需要CGROUP、BRIDGE等功能,如果Kernel中相关配置没有打开,安装或运行Docker会出现各种错误。

Docker开源团队提供了一个脚本,可以检测Kernel配置是否符合Docker的运行要求

源地址:https://github.com/moby/moby/blob/master/contrib/check-config.sh

可以使用wget直接下载或者下载附件 check-config.zip (4.13 KB, 下载次数: 78)
  1. wget https://github.com/moby/moby/raw/master/contrib/check-config.sh
复制代码

拷贝到目标平台直接运行脚本:
  1. chmod +x check-config.sh
  2. ./check-config.sh
复制代码
也可以在其他位置指定config文件:
  1. ./check-config.sh config_file
复制代码


得到的输出结果如下:
  1. Generally Necessary:
  2. - cgroup hierarchy: properly mounted [/sys/fs/cgroup]
  3. - apparmor: enabled and tools installed
  4. - CONFIG_NAMESPACES: enabled
  5. - CONFIG_NET_NS: enabled
  6. - CONFIG_PID_NS: enabled
  7. - CONFIG_IPC_NS: enabled
  8. - CONFIG_UTS_NS: enabled
  9. - CONFIG_CGROUPS: enabled
  10. ......

  11. Optional Features:
  12. - CONFIG_USER_NS: enabled
  13. - CONFIG_SECCOMP: enabled
  14. - CONFIG_SECCOMP_FILTER: enabled
  15. - CONFIG_CGROUP_PIDS: enabled
  16. - CONFIG_MEMCG_SWAP: enabled
  17. ......
复制代码
结果主要是两部分,Generally Necessary: 表示必要的配置,如果有显示missing的地方,需要在内核配置中打开,重新编译烧录内核以支持Docker
Optional Features: 是可选配置,根据需要打开。


这里也提供一个RK356X的已经开启全部Docker必要/可选配置(build-in方式)的config文件: firefly_linux_docker_defconfig.zip (4.36 KB, 下载次数: 101)


作者: 时间的蝴蝶    时间: 2021-12-2 20:34

作者: Negro旋    时间: 2021-12-3 10:25

作者: 柠檬百香果茶    时间: 2021-12-10 21:30
下载重复扣积分,哭了
作者: fujunxu    时间: 2021-12-30 21:24
灯泡怎么搞
作者: superobk    时间: 2022-1-4 18:43
Thanks for sharing~~~
作者: wx_lee_M0A    时间: 2022-1-5 11:30

Thanks for sharing~~~
作者: a343188433    时间: 2022-1-5 13:53
firefly_linux_docker_defconfig.zip 这个文件下载不了
作者: Liuth    时间: 2022-1-6 08:51
a343188433 发表于 2022-1-5 13:53
firefly_linux_docker_defconfig.zip 这个文件下载不了

可以下载,没问题啊
作者: superobk    时间: 2022-1-6 14:04
感謝分享~~~~
作者: 笨小孩1017    时间: 2022-2-5 16:03
fujunxu 发表于 2021-12-30 21:24
灯泡怎么搞

签到
作者: zlctfghb    时间: 2022-2-24 08:56

作者: fatboyslimww    时间: 2022-3-7 16:04
4.4内核 始终少一个 CONFIG_CGROUP_BPF: missing
作者: Liuth    时间: 2022-3-8 11:18
fatboyslimww 发表于 2022-3-7 16:04
4.4内核 始终少一个 CONFIG_CGROUP_BPF: missing

CGROUP_BPF 依赖 BPF_SYSCALL,你是不是 BPF_SYSCALL 没开启?
作者: fatboyslimww    时间: 2022-3-9 09:45
Liuth 发表于 2022-3-8 11:18
CGROUP_BPF 依赖 BPF_SYSCALL,你是不是 BPF_SYSCALL 没开启?

嗯 这个确认已经开启了  ,menuconfig就是搜不到 CGROUP_BPF
作者: louwuxin    时间: 2022-3-9 19:15
附件内容如何查看?
作者: salesdmcf    时间: 2022-3-16 15:09
这个文档很有用
作者: karl-majors    时间: 2022-3-19 17:58
warning: /proc/config.gz does not exist, searching other paths for kernel config ...
error: cannot find kernel config
  try running this script again, specifying the kernel config:
    CONFIG=/path/to/kernel/.config ./check-config.sh or ./check-config.sh /path/to/kernel/.config
请问下这个报错怎么破
作者: Liuth    时间: 2022-3-21 09:05
karl-majors 发表于 2022-3-19 17:58
warning: /proc/config.gz does not exist, searching other paths for kernel config ...
error: cannot  ...

在SDK/kernel中 make ARCH=arm64 firefly_linux_defconfig (架构和默认配置文件根据你的板型修改)
然后将SDK/kernel/.config 文件放入板子,和check-config.sh放一起
再执行 ./check-config.sh .config
作者: karl-majors    时间: 2022-3-21 14:12
Liuth 发表于 2022-3-21 09:05
在SDK/kernel中 make ARCH=arm64 firefly_linux_defconfig (架构和默认配置文件根据你的板型修改)
然后 ...

官方有可以使用docker的img嘛 应用开发 被个内核整不明白了
作者: Liuth    时间: 2022-3-21 15:06
karl-majors 发表于 2022-3-21 14:12
官方有可以使用docker的img嘛 应用开发 被个内核整不明白了

哪块板子?
作者: karl-majors    时间: 2022-3-21 16:06
Liuth 发表于 2022-3-21 15:06
哪块板子?

firefly rk3399
作者: Liuth    时间: 2022-3-22 17:38
karl-majors 发表于 2022-3-21 16:06
firefly rk3399

这个目前还没有,只能手动开启内核配置了
作者: wx_Wang._sMs    时间: 2022-3-23 14:50
感謝分享~~~~
作者: karl-majors    时间: 2022-3-23 22:10
Liuth 发表于 2022-3-22 17:38
这个目前还没有,只能手动开启内核配置了

可是按照文档进行编译一直报错

processing option: kernel
============Start build kernel============
TARGET_ARCH          =arm64
TARGET_KERNEL_CONFIG =rockchip_linux_defconfig
TARGET_KERNEL_DTS    =rk3399-evb-ind-lpddr4-linux
TARGET_KERNEL_CONFIG_FRAGMENT =
==========================================
#
# configuration written to .config
#
scripts/kconfig/conf  --silentoldconfig Kconfig
  CHK     include/config/kernel.release
  CHK     include/generated/uapi/linux/version.h
  CC      scripts/mod/empty.o
  CC      scripts/mod/devicetable-offsets.s
./../prebuilts/gcc/linux-x86/aarch64/gcc-linaro-6.3.1-2017.05-x86_64_aarch64-linux-gnu/bin/aarch64-linux-gnu-gcc -Wp,-MD,scripts/mod/.empty.o.d -nostdinc -isystem ./../prebuilts/gcc/linux-x86/aarch64/gcc-linaro-6.3.1-2017.05-x86_64_aarch64-linux-gnu/bin/aarch64-linux-gnu-gcc -print-file-name=include[Errno 8] Exec format error: ./../prebuilts/gcc/linux-x86/aarch64/gcc-linaro-6.3.1-2017.05-x86_64_aarch64-linux-gnu/bin/aarch64-linux-gnu-gcc -I./arch/arm64/include -Iarch/arm64/include/generated/uapi -Iarch/arm64/include/generated -Iinclude -I./arch/arm64/include/uapi -Iarch/arm64/include/generated/uapi -I./include/uapi -Iinclude/generated/uapi -include ./include/linux/kconfig.h -D__KERNEL__ -mlittle-endian -Wall -Wundef -Wstrict-prototypes -Wno-trigraphs -fno-strict-aliasing -fno-common -Werror-implicit-function-declaration -Wno-format-security -std=gnu89 -mgeneral-regs-only -fno-pic -fno-asynchronous-unwind-tables -Os -fno-omit-frame-pointer -fno-optimize-sibling-calls -g -pg -DKBUILD_STR(s)=#s -DKBUILD_BASENAME=KBUILD_STR(empty) -DKBUILD_MODNAME=KBUILD_STR(empty) -c -o scripts/mod/empty.o scripts/mod/empty.c[Errno 8] Exec format error: './../prebuilts/gcc/linux-x86/aarch64/gcc-linaro-6.3.1-2017.05-x86_64_aarch64-linux-gnu/bin/aarch64-linux-gnu-gcc'
make[2]: *** [scripts/Makefile.build:278: scripts/mod/empty.o] Error 8
make[2]: *** Waiting for unfinished jobs....
./../prebuilts/gcc/linux-x86/aarch64/gcc-linaro-6.3.1-2017.05-x86_64_aarch64-linux-gnu/bin/aarch64-linux-gnu-gcc -Wp,-MD,scripts/mod/.devicetable-offsets.s.d -nostdinc -isystem ./../prebuilts/gcc/linux-x86/aarch64/gcc-linaro-6.3.1-2017.05-x86_64_aarch64-linux-gnu/bin/aarch64-linux-gnu-gcc -print-file-name=include[Errno 8] Exec format error: ./../prebuilts/gcc/linux-x86/aarch64/gcc-linaro-6.3.1-2017.05-x86_64_aarch64-linux-gnu/bin/aarch64-linux-gnu-gcc -I./arch/arm64/include -Iarch/arm64/include/generated/uapi -Iarch/arm64/include/generated -Iinclude -I./arch/arm64/include/uapi -Iarch/arm64/include/generated/uapi -I./include/uapi -Iinclude/generated/uapi -include ./include/linux/kconfig.h -D__KERNEL__ -mlittle-endian -Wall -Wundef -Wstrict-prototypes -Wno-trigraphs -fno-strict-aliasing -fno-common -Werror-implicit-function-declaration -Wno-format-security -std=gnu89 -mgeneral-regs-only -fno-pic -fno-asynchronous-unwind-tables -Os -fno-omit-frame-pointer -fno-optimize-sibling-calls -g -pg -DKBUILD_STR(s)=#s -DKBUILD_BASENAME=KBUILD_STR(devicetable_offsets) -DKBUILD_MODNAME=KBUILD_STR(devicetable_offsets) -fverbose-asm -S -o scripts/mod/devicetable-offsets.s scripts/mod/devicetable-offsets.c[Errno 8] Exec format error: './../prebuilts/gcc/linux-x86/aarch64/gcc-linaro-6.3.1-2017.05-x86_64_aarch64-linux-gnu/bin/aarch64-linux-gnu-gcc'
make[2]: *** [scripts/Makefile.build:153: scripts/mod/devicetable-offsets.s] Error 8
make[1]: *** [scripts/Makefile.build:484: scripts/mod] Error 2
make: *** [Makefile:579: scripts] Error 2
make: *** Waiting for unfinished jobs....
====Build kernel failed!====

作者: Liuth    时间: 2022-3-24 09:17
karl-majors 发表于 2022-3-23 22:10
可是按照文档进行编译一直报错

processing option: kernel

编译问题请另开帖子,初步看 Exec format error 应该是你的电脑交叉编译环境没有准备好,按照3399维基重新搭建SDK编译环境。 编译前配置也错了,不应该使用 rk3399-evb-ind-lpddr4-linux 维基里写的正确 dts 是 rk3399-firefly。
作者: qhg    时间: 2022-4-7 23:39

作者: wx_Ivan_IeT    时间: 2022-5-29 15:08
厉害的不要不要的
作者: wx__LeNYh9    时间: 2022-7-15 10:19

作者: wx__LeNYh9    时间: 2022-7-18 10:27

作者: shixuegui    时间: 2022-7-19 22:48
先顶一个
作者: 半称心    时间: 2022-9-6 14:26
感谢分享。要积分下载
作者: 忘汐    时间: 2022-9-25 08:50
感谢分享,看配置里面,和当前固件内核差了相当多配置,请问是不是这里的配置里面只包换了Docker所必须的内核选项呢
作者: gyyak46    时间: 2022-11-1 21:34

作者: gyyak46    时间: 2022-11-1 21:52

作者: 半称心    时间: 2022-11-4 16:33
解锁docker
作者: tay87    时间: 2022-12-1 22:05
这么好的资源竟然没发现
作者: JustTry    时间: 2022-12-7 08:27
谢谢

作者: JustTry    时间: 2022-12-19 17:45
谢谢
作者: zzh1212    时间: 2023-2-13 15:46
谢谢
作者: zzh1212    时间: 2023-2-27 14:49
谢谢
作者: 闆鍨    时间: 2023-4-3 14:06

作者: yuxiao23    时间: 2023-4-7 13:56

作者: lumanyu    时间: 2023-6-6 11:48
怎么才能下载啊
作者: zzsqwq    时间: 2023-9-6 19:36
感谢共享,下载看看。
作者: zdzuser    时间: 2023-9-14 10:20
强烈建议官方出一个3399的5.X内核固件
作者: Onlooker    时间: 2023-12-4 14:42
很好
作者: Onlooker    时间: 2023-12-4 14:46
warning: /proc/config.gz does not exist, searching other paths for kernel config ...  这是怎么回事呢
作者: zhanhui    时间: 2023-12-21 11:44
真心牛逼的同步哈哈
作者: 木杉    时间: 2024-1-7 08:59
好东西!!!!!!!!!!!!!!!
作者: 王坚    时间: 2024-1-9 16:08
好东西,我得试一下怎么配置内核
作者: slinow    时间: 2024-3-26 13:28
感谢
作者: zhaoergou    时间: 2024-4-14 21:05
感谢
作者: yulingkq    时间: 4 天前
灯泡怎么弄
作者: nsby494    时间: 3 天前
感谢分享,来学习 一下





欢迎光临 Firefly开源社区 (https://dev.t-firefly.com/) Powered by Discuz! X3.1