
- ``` + 2. 检查关键配置
这些检查项没有脚本化吗
docker-rootfs 脚本创建过程中如果失败会报错。
Thanks, Chenglong
Thanks, Yinsi
+ a. 查看链接 /sbin/init + > 确定系统以systemd方式启动 + ```bash + ls -l /sbin/init + /sbin/init -> ../lib/systemd/systemd + ``` + b. 查看链接 /etc/localtime + > 确定系统时区正确 + ```bash + ls -l /etc/localtime + /etc/localtime -> ../usr/share/zoneinfo/Asia/Shanghai
这两个软连接不管有没有,直接在脚本里面强制创建
+ ``` + c. 如果使用 docker 制作 osimage 还需以下操作: + > docker 环境变量文件 /.dockerenv 已删除
不管有没有这个文件,在脚本里面都删删除,这样这检查项就都免了。 Thanks, Yinsi
+ + 3. 打包rootfs + ```bash + cd $rootfs + find . | coip -o -Hnewc |gzip -9 > $os_name.cgz + ``` + + 4. 打包驱动软件/内核源码 + 如果想要使用 {compass-ci} 未提供的内核版本, 可以在 rootfs 中手动安装对应版本内核,并将驱动软件/内核源码进行打包。 + ```bash + find /lib/modules/* | cpio -o -Hnewc | gzip -9 > /modules-$os_name.cgz + find /usr/src/kernels/* | cpio -o -Hnewc | gzip -9 > /headers-$os_name.cgz + ``` + #### FAQ -1. 日志报错 “Unable to mount root fs on unknown-block” +1. 日志报错 “Unable to mount root fs on unknown-block” - 问题现象 ```bash [ 0.390437] List of all partitions: - [ 0.390806] No filesystem could mount root, tried: + [ 0.390806] No filesystem could mount root, tried: [ 0.391489] Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(0,0) ... [ 0.399404] Memory Limit: none [ 0.399749] ---[ end Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(0,0) ]--- ``` - 解决方法 - + 1)启动内存不足,增加内存可解决。 2)内核文件权限不足,给予 644 权限。 - + 2. 系统运行缓慢 - + - 问题现象
打包镜像体积过大,会消耗很大内存 -- 2.23.0