|Index|SUSE Edge 文档|查错|Edge Image Builder (EIB) 故障排除
适用范围 SUSE Edge 3.6

36 Edge Image Builder (EIB) 故障排除

EIB 用于创建自定义 SUSE Edge 镜像。

常见问题
  • 错误的 SCC 代码:确保 EIB 定义文件中使用的 SCC 代码与 SL Micro 版本和架构相匹配。

  • 缺少依赖项:确保构建环境中没有缺失的软件包或工具。

  • 镜像大小不正确:对于 raw 镜像,diskSize 参数是必需的,并且它在很大程度上取决于镜像、RPM 以及包含在镜像中的其他制品。

  • 权限:如果将脚本存储在 custom/files 目录中,请确保其具有可执行权限,因为这些文件仅在燃烧时可用,而 EIB 不会对其进行任何更改。

  • 操作系统组依赖:创建包含自定义用户和组的镜像时,应显式创建设置为 “primaryGroup” 的组。

  • 操作系统用户的 SSH 密钥需要主文件夹:创建包含带有 SSH 密钥的用户的镜像时,还需要使用 createHomeDir=true 创建主文件夹。

  • 燃烧问题:EIB 依赖燃烧过程来定制操作系统并部署所有其他 SUSE Edge 组件。这也包括放置在 custom/scripts 目录中的自定义脚本。请注意,燃烧过程是在 initrd 时间执行的,因此在执行脚本时系统尚未完全启动。

  • Podman 机器大小:正如 EIB 提示和技巧部分 (第 IV 部分 “提示和技巧”) 中所述,请验证 Podman 机器是否有足够的处理器/内存来在非 Linux 操作系统上运行 EIB 容器。

  • 镜像不正确:确保通过 验证 checksum 正确下载了所使用的基础镜像。如果您正在使用 kiwi-builder (第 26 章 “使用 Kiwi 构建更新的 SUSE Linux Micro 镜像”) 构建镜像,请同时检查该过程生成的校验和文件。

日志
  • EIB 输出:eib build 命令的控制台输出至关重要。

  • 构建容器日志:检查构建容器的日志。日志生成在用于存储制品的目录中。同时检查 docker logs 或 podman logs 以获取必要信息。

    注意
    注意

    有关详细信息,请参见 调试。

  • 临时构建目录:EIB 在构建过程中会创建临时目录。如果主要输出不足,请检查这些目录以获取中间日志或制品。

  • 燃烧日志:如果使用 EIB 构建的镜像因任何原因无法启动,则可以使用 root 外壳。连接到主机控制台(物理连接、通过 BMC 等),并使用 journalctl -u combustion 检查燃烧日志,同时使用 journalctl 检查所有操作系统日志,以查找故障的根本原因。

故障排除步骤
  1. 查看 eib-build 输出:控制台输出中的错误消息通常具有很强的指示性。

  2. 检查构建环境:确保运行 EIB 的机器满足 EIB 本身的所有先决条件(例如 docker/podman、足够的磁盘空间)。

  3. 检查构建容器日志:查看失败容器的日志以获取更详细的错误信息(见上文)。

  4. 验证 eib 配置:仔细检查 eib 配置文件,查看是否有任何拼写错误,或源文件或构建脚本的路径是否不正确。

    • 测试各个组件:如果您的 EIB 构建涉及自定义脚本或阶段,请独立运行它们以隔离故障。