JFFS2
MTD用のファイルシステムで、ウェアレベリングしてくれて圧縮にも対応しているようです。
書き換えも可。
なので、rwパーティションに採用しました。
Kernel config
File systems --->
[*] Miscellaneous filesystems --->
<*> Journalling Flash File System v2 (JFFS2) support
[*] Advanced compression options for JFFS2
[*] JFFS2 ZLIB compression support (NEW)
先にMTDを有効にしないと項目が出てきません。
母艦側(Arch Linux)でイメージを作成するのにmkfsが必要ですが、mtd-utilsパッケージに入っています。
$ sudo mkfs.jffs2 -X zlib -r /mnt -o jffs2.img
-rオプションで指定したディレクトリをルートディレクトリとして、-oオプションの指定ファイルにパーティションイメージが出力されます。
-Xオプションで圧縮
ブロックデバイス用のファイルシステムではないので普通の方法ではイメージファイルはmountできません。
イメージファイルは
flashcp等でmtdデバイスに書き込みます。
# mount -t jffs2 /dev/mtdblock5 /mnt
-tを指定しないとマウントできません。
JFFS2は初回マウント時に大量に画面出力されて時間がかかりますが正常です。2回目からはすぐにマウント完了します。