当我使用 qemu 使用官方内核映像和从 ubuntu 官方网站下载的 initrd 启动虚拟机时,它运行良好,但是当我从源代码构建内核并用我自己构建的内核映像替换内核映像时(initrd 仍然是官方一),操作系统仍然可以启动,但cloud-init无法正确设置用户密码。所以我无法再登录我的操作系统了。
这显然不是 cloud-init 的问题,但要开始调试,您可以比较工作内核和非工作内核之间的
/var/log/cloud-init.log
。
如果您在同一系统上多次运行 cloud-init,请不要忘记需要
cloud-init clean --logs
才能使 cloud-init 完全重新运行,因为 cloud-init 不会在每次启动时运行所有模块。