我有一個非常舊的 Linux 版本(版本 2.4.0)。請不要問我為什麼我有這麼舊的版本,因為它是針對非常專業的舊硬體的。無論如何,問題是,在成功編譯後嘗試運行系統時,我收到此訊息。
核心恐慌:我沒有root,我想尖叫
問題似乎是我需要一個“根檔案系統”,很可能是由初始 RAM 磁碟 (initrd) 生成技術產生的。我怎樣才能解決這個問題?
答案1
如果您的核心包含啟動所需的所有驅動程式和檔案系統支持,則不需要 initrd。但是您需要使用root=
核心參數(例如 )告訴核心您的根檔案系統在哪裡root=/dev/sda1
。
答案2
您不必“創建”rootfs。如果核心在沒有 initrd 的情況下啟動,則必須使用存取根裝置所需的驅動程式來編譯 ist。使用哪個設備(預設)是硬編碼在核心中的。您可以使用內核命令列覆蓋它,例如root=/dev/sda2
。
如果您使用 initrd,則 initrd 會自動成為 rootfs,並且 initrd 進程稍後會 chroot 到真正的 rootfs(使用核心參數,也許還有一些預設值)。