試圖讓我的系統在沒有 initrd 的情況下執行
我一直在嘗試配置一個不需要 initrd 啟動的核心。我沒有成功。我試圖從中引導的文件系統是 ext4,並且我在我的核心中編譯了所有擴展文件系統(不是作為模組,在核心本身中)。我正在使用帶有 2.5" 1TB WD 硬碟的 2011 年初 MacBook Pro。我的命令行是
root=PARTUUID=5c595262-cd6a-48f9-b199-6d72dae95b09 ro rootfstype=ext4 rootwait
,每次啟動時,我都會感到核心恐慌,因為無法掛載根分區,root=
而我的命令行部分是無效。 請參閱更新我啟用了 CONFIG_DEVTMPFS 以在根文件系統之前掛載 /dev,但由於我最初發布了這個問題,我已經切換到使用 aPARTUUID
而不是指定它dev
路徑,所以我不再需要它了,但它仍然處於啟用狀態。我啟用了 CONFIG_EFI_STUB 選項並使用它來啟動,我的命令行被硬編碼到核心中。當我嘗試啟動時核心恐慌(因為它沒有看到我的硬碟)
我需要更改哪些配置選項才能讓我的系統在沒有 initrd與我的 HDD 通信的情況下正常工作?我不能使用 initrd,因為我唯一的引導方法是直接載入我的核心 EFI 樣式,因此由於核心本身無法載入 initrd(據我所知,載入 initrd 需要引導載入程序)我不能用一個。
**更新:**自從發布這個問題以來,我已經確定一切配置都很好,除了我的核心沒有看到我的 2.5" 內部 1TB SATA 驅動器(這就是為什麼我的核心最初說
root
參數無效,sda 沒有存在)。那麼我需要配置什麼來讓我的核心與我的內部 SATA 硬碟通信?(我應該把它作為一個單獨的問題發布嗎?)
我能夠通過將我的 SATA 控制器 (libata) 編譯到我的核心中來使其執行,該核心最初被編譯為一個模組(這就是為什麼它可以在初始 ram 磁碟上執行良好的原因)。