documentation.suse.com / SUSE Edge 文档 / 查错 / Kiwi 查错

45 Kiwi 查错

Kiwi 用于生成更新的 SUSE Linux Micro 映像,供 Edge Image Builder 使用。

常见问题
  • SL Micro 版本不匹配:构建主机的操作系统版本必须与待构建的操作系统版本匹配(例如,SL Micro 6.0 主机 → SL Micro 6.0 映像)。

  • SELinux 处于强制模式:由于存在某些限制,目前需要临时禁用 SELinux 才能使用 Kiwi 构建映像。请使用 getenforce 检查 SELinux 状态,并在运行构建过程前使用 setenforce 0 将其禁用。

  • 构建主机未注册:构建过程会使用构建主机订阅从 SUSE SCC 提取软件包。如果主机未注册,构建将会失败。

  • 循环设备测试失败:首次执行 Kiwi 构建过程时,启动后不久就会失败,并显示“ERROR: Early loop device test failed, please retry the container run.”,这是由于底层主机系统上正在创建的循环设备无法立即在容器映像内可见所致。重新运行该 Kiwi 构建过程,通常即可顺利进行。

  • 权限缺失:构建过程需要以 root 用户(或通过 sudo)运行。

  • 权限错误:运行容器时,应为构建过程指定 --privileged 标志。请仔细检查是否指定了该标志。

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

  • 临时构建目录:Kiwi 会在构建过程中创建临时目录。如果主要输出的信息不充足,可在这些目录中查看中间日志或制品。

查错步骤
  1. 查看 build-image 输出:控制台输出中的错误消息通常具有明确指示性。

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

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

  4. 验证定义文件:如果使用自定义 Kiwi 映像定义文件,请仔细检查文件是否有拼写错误或语法问题。

注意
注意

请参考 Kiwi 查错指南

Documentation survey