FAQ : CFから起動する時、「 fsck.ext2: Bad magic number ... open /dev/ram0」というエラーが出ます。

対象製品: Armadillo-9

atmark-distで用意したルートファイルシステムをそのままコンパクトフラッシュに保存して起動すると、以下のエラーが出ます。これは、/etc/fstabの設定がフラッシュメモリ用になっているためです。


Starting fsck for root filesystem.
fsck 1.25 (20-Sep-2001)
fsck.ext2: Bad magic number in super-block while trying to open /dev/ram0
(null):
The superblock could not be read or does not describe a correct ext2
filesystem.  If the device is valid and it really contains an ext2
filesystem (and not swap or ufs or something else), then the superblock
is corrupt, and you might try running e2fsck with an alternate superblock:
    e2fsck -b 8193 

システムは、起動時にfsckを使ってファイルシステムの整合性をチェックします。この時 /etc/fstab という設定ファイルを参照し、ルートファイルシステムがどのデバイスに載っているのが調べます。atmark-distのデフォルトではフラッシュメモリにあるルートファイルシステムをメモリ上に展開して使用するため、ルートファイルシステムは、/dev/ram0 として定義されています。

しかし、コンパクトフラッシュがルートファイルシステムなる場合は、/dev/ram0を使わないため、そのままのfstabでは誤った設定となってしまいます。

Armadillo-9では、コンパクトフラッシュは /dev/hdcとして認識されます。もしコンパクトフラッシュのパーティション1番をルートファイルシステムとして使用するのであれば /etc/fstabの設定を以下のように変更してください。


/dev/hdc1       /       ext2    defaults          0 1