web-dev-qa-db-ja.com

F2FS上のLinuxルート

LinuxルートをF2FSUSBフラッシュドライブに持っています。カーネルは、ブートローダーからアクセスできる別のデバイス上にあります。パラメータ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は正しいデバイスであり、ArchLinuxを実行している別のコンピューターに問題なくマウントできます。 fdiskを使用してパーティション化し、f2fs-toolsのmkfs.f2fsを使用してフォーマットしました。

カーネルパニックが発生するのはなぜですか? F2FSモジュールがありませんか?もしそうなら、どうすれば起動時にロードできますか?

1
osvein

@derobertが指摘したように、F2FSモジュールを使用してカーネルを構築する必要があります。私の場合、それはロード可能なモジュールとしてさえ含まれていませんでした。

カーネルを自分でビルドするには、 kernel.org からカーネルを取得します。プラットフォームのデフォルトのカーネル構成を取得します。 (TI-Nspire計算機シリーズの場合は ここ から取得しました。)CONFIG_F2FS_FSyに設定して、F2FSを含めるように変更します。ダウンロードしたカーネルソースのルートに。configとして保存し、makeを使用してビルドします。次に、Arch/arm/bootに新しいカーネルのものがあります。

1
osvein