Kernel
使用 USB 文件系統啟動 Linux
我正在嘗試啟動儲存在 USB 驅動器中的 Linux 系統,該驅動器是按照Linux from Scratch 手冊獲得的。
我完成了除了引導部分之外的所有內容,問題是當核心嘗試掛載文件系統時,USB 驅動器不是選項的一部分,只有硬碟驅動器。
/dev
我想只有在掛載文件系統之後才會列舉 USB 和其他儲存系統。是否有解決方法,以便我可以從 USB 驅動器掛載文件系統?即使需要修補核心原始碼。
編輯:對不起,缺乏資訊。
我使用 Grub2 作為引導載入程序
我正在使用 sysvinit(核心從不啟動它)
這是一個 MBR 分區,我使用 PARTUUID=000337f3-01 作為 root。它在 QEMU 機器上工作
要設置 ramdisk,我只需執行 initrd /bzImage 是的,我已經建構了 udev
我解決這個問題的方法是使用所謂的“initrd”。我不知道你在從頭開始做 Linux 時對 initrd 有多熟悉,但他們在這裡有一個關於 initrd 的頁面:
http://www.linuxfromscratch.org/blfs/view/svn/postlfs/initramfs.html
initrd 所做的是充當核心在載入核心後引導到的小根文件系統。這個簡單的文件系統包含核心掛載根文件系統和載入系統啟動所需的其他驅動程序所需的所有文件。一旦真正的引導文件系統安裝在 initrd 中,initrd 就會將該文件系統作為根文件系統,然後終止,核心在實際的根文件系統上啟動 init 程序。
事實上,可以製作一個永不離開 initrd 的微型 Linux 系統;幾年前,我在從頭開始製作單磁片 Linux 發行版時這樣做了。