gpt4 book ai didi

linux - 为什么我的 initramfs 脚本没有运行?

转载 作者:行者123 更新时间:2023-12-04 18:26:20 24 4
gpt4 key购买 nike

运行 Ubuntu 18.04 LTS。我已将脚本放在以下位置:

/usr/share/initramfs-tools/scripts/init-bottom/dothis

dothis 设置为 +x。我运行了 sudo update-initramfs -u 似乎可以很好地更新 initramfs 内容。我查看了 /boot/grub/grub.cfg 并看到配置了预期的 initrd 文件。

在文件上运行 lsinitramfs 确实显示脚本已添加。

但是我找不到任何证据表明 dothis 正在启动时运行。根据在线文档,根文件系统应该在 /init-bottom 脚本运行时就位,这应该是我的“hello world”工作所需的唯一东西,因为它输出到根文件系统上的文件。

是否需要执行其他一些步骤才能运行此脚本,或显示它是否正在运行?我尝试简单地将文本输出到/tmp 中的文件,但这也没有显示出来。

最佳答案

由于你没有提供更多细节,我不得不猜测。您的 dothis 脚本是否写入 initramfs 内的 /tmp?根文件系统安装在 /root 并且 initramfs 使用 switch_root 切换到它(作为 initramfs 的最后一步)。然后所有写入 /tmp 的文件都丢失了。如果您让脚本写入 /root/root/log,该文件将出现在启动系统的 /root/log 中。

要进一步调试您的问题,您可以使用内核参数 break=bottom 启动系统。然后你会得到一个 shell,你可以在其中手动运行你的脚本。要获得更快的调试周期,您可以使用虚拟机。

关于linux - 为什么我的 initramfs 脚本没有运行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59099667/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com