35 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:早期循环设备测试失败,请重试容器运行。 这是底层主机系统上创建的循环设备在容器镜像内无法立即识别的症状。重新运行 Kiwi 构建过程,它应该可以顺利进行。
缺少权限:构建过程需要以 root 用户身份(或通过 sudo)运行。
权限错误:构建过程在运行容器时需要
--privileged标志。请仔细检查该标志是否存在。
构建容器日志:检查构建容器的日志。日志生成在用于存储制品的目录中。同时检查 docker logs 或 podman logs 以获取必要信息。
临时构建目录:Kiwi 在构建过程中会创建临时目录。如果主要输出不足,请检查这些目录以获取中间日志或制品。
查看
build-image输出:控制台输出中的错误消息通常非常有指示性。检查构建环境:确保运行 Kiwi 的机器满足 Kiwi 本身的所有先决条件(例如 docker/podman、SELinux、足够的磁盘空间)。
检查构建容器日志:查看失败容器的日志以获取更详细的错误信息(见上文)。
验证定义文件:如果您使用的是自定义 Kiwi 镜像定义文件,请仔细检查该文件是否存在任何拼写错误或语法问题。