jffs2 rootfsをブロックデバイスにマウントすると「erase_size」関連エラーが発生する

jffs2 rootfsをブロックデバイスにマウントすると「erase_size」関連エラーが発生する

以下のようにjffs2イメージを仮想ブロックデバイスにマウントしてみてください。このガイド

ステップは次のようになり、要約すると次のようになります。

sudo mknod /tmp/mtdblock0 b 31 0
sudo modprobe mtdblock
sudo modprobe mtdram total_size=265536 erase_size=256  # actual total_size used in the command is different as per need
sudo modprobe jffs2
sudo dd if=/home/myuser/Downloads/jffs2File of=/tmp/mtdblock0
sudo mkdir /media/jffs2-extracted 
sudo mount -t jffs2 /tmp/mtdblock0 /media/jffs2-extracted

最後のステップ(mount)でエラーが発生し、何もインストールされていません/media/jffs2-extracteddmesg次のメッセージ(および同様のメッセージ)が複数回繰り返されることがわかります。

jffs2_scan_eraseblock(): Magic bitmask 0x#### not found at 0x########: 0x#### instead
Old JFFS2 bitmask found at 0x You cannot use older JFFS2 filesystems with newer kernels

その後、コマンドerase_sizeの強度sudo modprobe mtdram total_size=265536 erase_size=256を上げると、繰り返されるエラーは消えjffs2_scan_eraseblock(): Magic bitmask 0x#### not found at 0x########: 0x#### insteadましたが、今回は次のエラーが発生しました。

Old JFFS2 bitmask found at 0x You cannot use older JFFS2 filesystems with newer kernels
Cowardly refusing to erase blocks on filesystem with no valid JFFS2 nodes

erase_sizeコマンドに使用する正しい値をどのように見つけることができますか?total_sizeに相対的ですかmodeprobe mtdram?それでは、これをどのようにerase_size計算しますかtotal_size

ベストアンサー1

おすすめ記事