Kernel-Modules

F2FS 上的 Linux 根

  • July 3, 2019

我的 Linux 根目錄位於 F2FS USB 快閃記憶體驅動器上。核心位於引導載入程序可訪問的另一個設備上。我試圖用參數啟動它root=/dev/sda1 rootwait rootfstype=f2fs,但我總是以核心恐慌告終:

VFS: Cannot open root device "sda1" or unknown-block(8,1): error -19
Please append a correct "root=" boot option; here are the available partitions:
0100      8192 ram0 (driver?)
0101      8192 ram1 (driver?)
0800   3913728 sda  driver: sd
 0801 3913728 sda1 973c7215-01
Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(8,1)
---[ end Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(8,1)

sda1 是正確的設備,我可以毫無問題地將它安裝到另一台執行 Arch Linux 的電腦上。我使用f2fs-toolsfdisk對其進行了分區和格式化。mkfs.f2fs

為什麼核心會恐慌?我錯過了 F2FS 模組嗎?如果是這樣,我如何在啟動時載入它?

正如@derobert 指出的那樣,您必須使用 F2FS 模組建構核心。就我而言,它甚至沒有作為可載入模組包含在內。

要自己建構核心,請從kernel.org獲取。獲取您平台的預設核心配置。(我從這裡得到了我的 TI-Nspire 計算器系列。)修改它以包含 F2FS,方法是設置CONFIG_F2FS_FSy. 將它保存為下載核心源的根目錄下的*.config ,然後使用 make 簡單地建構它。然後,您將在arch/arm/boot*中找到新的核心內容。

引用自:https://unix.stackexchange.com/questions/245193