46 Edge Image Builder (EIB) 查错 #
EIB 用于创建自定义 SUSE Edge 映像。
错误的 SCC 代码:确保 EIB 定义文件中使用的 SCC 代码与 SL Micro 版本和体系结构相匹配。
依赖项缺失:确保构建环境中没有缺失的软件包或工具。
映像大小不正确:对于原始映像,必须指定
diskSize
参数,其值很大程度上取决于映像中包含的映像、RPM 及其他制品。权限:如果在 custom/files 目录中存储脚本,则确保脚本具有可执行权限,因为这些文件仅在 Combustion 阶段可用,EIB 不会对其进行修改。
操作系统组依赖项:创建需要设置自定义用户和组的映像时,应明确预先创建作为“
primaryGroup
”的组。操作系统用户的 SSH 密钥需要主目录:创建需要设置带 SSH 密钥的用户的映像时,还需使用
createHomeDir=true
创建主文件夹。Combustion 问题:EIB 依赖 Combustion 来自定义操作系统并部署其他所有 SUSE Edge 组件,包括存放在 custom/scripts 文件夹中的自定义脚本。需要注意的是,Combustion 过程在
initrd
阶段执行,因此脚本执行时系统尚未完全引导。Podman 计算机大小:如第 IV 部分 “提示和技巧”中所述,在非 Linux 操作系统上,需要验证 Podman 计算机是否有充足的 CPU/内存来运行 EIB 容器。
EIB 输出:
eib build
命令的控制台输出可提供极为重要的信息。构建容器日志:检查构建容器的日志。生成的日志存放在用于存储制品的目录中。也可通过
docker logs
或podman logs
获取必要信息。临时构建目录:EIB 会在构建过程中创建临时目录。如果主要输出的信息不充足,可在这些目录中查看中间日志或制品。
Combustion 日志:如果使用 EIB 构建的映像因任何原因无法引导,可以使用 root 外壳。连接到主机控制台(物理连接或通过 BMC 等方式),使用
journalctl -u combustion
检查 Combustion 日志,或使用journalctl
查看所有操作系统日志,确定失败的根本原因。
查看
eib-build
输出:控制台输出中的错误消息通常具有明确指示性。检查构建环境:确保运行 EIB 的计算机满足 EIB 本身的所有先决条件(例如,docker/podman、充足的磁盘空间)。
检查构建容器日志:查看失败容器的日志以获取更详细的错误信息(见上文)。
验证
eib
配置:仔细检查eib
配置文件是否有拼写错误,或者其中的源文件/构建脚本路径是否不正确。单独测试组件:如果 EIB 构建涉及自定义脚本或阶段,单独运行它们以隔离故障。