簡體   English   中英

為什么我的 initramfs 腳本沒有運行?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM