以下のように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-extracted
。dmesg
次のメッセージ(および同様のメッセージ)が複数回繰り返されることがわかります。
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
?