Firefly开源社区

打印 上一主题 下一主题

[技术讨论] 工具分享:检测内核配置是否支持Docker等容器

2077

积分

10

威望

12

贡献

中级创客

Rank: 4

积分
2077

工具分享:检测内核配置是否支持Docker等容器

发表于 2021-12-2 20:30:43      浏览:16682 | 回复:54        打印     [复制链接] 楼主
本帖最后由 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)

回复

使用道具 举报

2077

积分

10

威望

12

贡献

中级创客

Rank: 4

积分
2077
发表于 2022-1-6 08:51:00      沙发
a343188433 发表于 2022-1-5 13:53
firefly_linux_docker_defconfig.zip 这个文件下载不了

可以下载,没问题啊
回复

使用道具 举报

2077

积分

10

威望

12

贡献

中级创客

Rank: 4

积分
2077
发表于 2022-3-8 11:18:09      板凳
fatboyslimww 发表于 2022-3-7 16:04
4.4内核 始终少一个 CONFIG_CGROUP_BPF: missing

CGROUP_BPF 依赖 BPF_SYSCALL,你是不是 BPF_SYSCALL 没开启?
回复

使用道具 举报

2077

积分

10

威望

12

贡献

中级创客

Rank: 4

积分
2077
发表于 2022-3-21 09:05:45      地板
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
回复

使用道具 举报

2077

积分

10

威望

12

贡献

中级创客

Rank: 4

积分
2077
发表于 2022-3-21 15:06:41      5#
karl-majors 发表于 2022-3-21 14:12
官方有可以使用docker的img嘛 应用开发 被个内核整不明白了

哪块板子?
回复

使用道具 举报

2077

积分

10

威望

12

贡献

中级创客

Rank: 4

积分
2077
发表于 2022-3-22 17:38:25      6#

这个目前还没有,只能手动开启内核配置了
回复

使用道具 举报

2077

积分

10

威望

12

贡献

中级创客

Rank: 4

积分
2077
发表于 2022-3-24 09:17:24      7#
karl-majors 发表于 2022-3-23 22:10
可是按照文档进行编译一直报错

processing option: kernel

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

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

友情链接 : 爱板网 电子发烧友论坛 云汉电子社区 粤ICP备14022046号-2
快速回复 返回顶部 返回列表