Ubiイメージファイル(.ubi)があり、そのイメージから単一のファイルを変更したい(/etc/network/interfaces
(正確には)。
そのubiイメージから1つのファイルを変更するにはどうすればよいですか?
OS Xを使用していますが、Ubuntu VMも使用しています。
たくさん読んだ後、ついにUbuntuでそれを行う方法を見つけました:
1.)nandsim
を使用してNAND MTデバイスをシミュレートします
modprobe nandsim first_id_byte=... second_id_byte=.. third_id_byte=.. fourth_id_byte=...
2.)MTデバイスIDを確認する
cat /proc/mtd | grep -i "NAND Simulator"
3.)UBIカーネルモジュールをロードする
modprobe ubi
4.)MTデバイスを消去します(この手順は省略できます)
flash_erase /dev/mtdX 0 0
5.)ubiformat
を使用してUBIイメージをフラッシュします。
ubiformat /dev/mtdX -y -f /path/to/ubi -O XXXX -s XXXX
6.)ubiattach
を使用してMTデバイスをUBIに接続し、UBIデバイス番号を書き留めます。
ubiattach -p /dev/mtdX
7.)mount
でマウントします
mount -t ubifs ubiX /path/to/mount-point/
8.)変更を行います。
9.)mkfs.ubifs
を使用してUBIFSを作成します
mkfs.ubifs -o ubifs.img -m XXXX -e XXXX -c XXXX -v -r /path/to/mount-point/
10.)ubinize
を使用してUBIイメージを作成します
ubinize -o final.ubi -p XXXX -m XXXX -s XXXX -v ubinize.cfg
XXXX
=使用するNANDフラッシュチップに固有のパラメーター。
ubinize.cfg
は次のようになります。
[rootfs]
mode=ubi
image=ubifs.img
vol_name=rootfs
vol_flags=autoresize
vol_type=dynamic
vol_id=0