
+ 2. 检查rootfs
定制rootfs没有脚本化吗,
+ 1. 使用 chroot 命令切换到 rootfs (此步骤需要 root 权限) ```bash chroot openEuler-rootfs ``` - 2. 根据个人需要安装并配置服务 - - a. 修改 root 密码 - b. 配置 ssh 服务 - c. 检查系统时间 - d. 如果使用 docker 制作 osimage 还需要以下操作: - > 1. 安装所需版本内核 - > 2. 从 centos 官方网站下载内核rpm包 - > 3. 使用 yum 进行安装 - > 4. 删除 docker 环境变量文件 - - 3. 退出 rootfs,并打包 - ```bash - cd $rootfs - find . | coip -o -Hnewc |gzip -9 > $os_name.cgz - ``` + 2. 检查关键配置
这些检查项没有脚本化吗 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 已删除 + + 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