微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如果从自定义脚本执行 poweroff 命令,initramfs 将停止

如何解决如果从自定义脚本执行 poweroff 命令,initramfs 将停止

我已经从 debian 10 复制并修改了 initrd 映像 (/boot/initrd.img-4.19.0-5-amd64) 并在 scripts/init-top 中添加了我的自定义脚本/ 目录。 在脚本的最后一部分,我正在执行 poweroff -f 命令,并且在执行 poweroff -f 后的引导时,引导被 reboot: system halted 停止并停留在那里。 但是,如果我将 poweroff -f 替换为 reboot -f,那么系统会重新启动并正常运行。 过去,我对来自 Debian 9 的 initrd 映像(无法回忆版本)做了同样的事情,在那里我将相同的脚本与 poweroff -f 放在一起,但我没有发现任何问题。

现在关于我的自定义 shell 脚本,它装载和更改根磁盘(来自已经复制到旧根磁盘中的 qcow2)并卸载它。 我为将脚本放入 initrd 所做的更改如下,

$ mkdir custom_init
$ cd custom_init
$ zcat ../initrd.img-4.19.0-5-amd64 | cpio -idmv
$ cp ../custom_script scripts/init-top/
$ vi scripts/init-top/ORDER
-- append "scripts/init-top/custom_script" at the last and save
$ find . | cpio -o -H newc | gzip -9 > ../initrd.img-amd64-custom

我对此很陌生,并遵循我为 Debian 9 所做的相同过程。我知道两个 Debian 版本之间可能存在很多差异,但我正在寻找一种方法来从我的自定义脚本中关闭 VM . 这个 initrd 将在没有根设备(在 /boot/grub/grub.conf 中指定)的情况下启动,因为这样做的目的是用新的 qcow2 替换根磁盘。 有没有办法做到这一点?或者我在这里做错了什么?

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。