[英]Why is my initramfs script not being run?
運行 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,你可以在其中手動運行你的腳本。 為了更快的調試周期,您可以使用虛擬機。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.