web-dev-qa-db-ja.com

UBIイメージから単一のファイルを変更するにはどうすればよいですか

Ubiイメージファイル(.ubi)があり、そのイメージから単一のファイルを変更したい(/etc/network/interfaces(正確には)。

そのubiイメージから1つのファイルを変更するにはどうすればよいですか?

OS Xを使用していますが、Ubuntu VMも使用しています。

3
d3L

たくさん読んだ後、ついにUbuntuでそれを行う方法を見つけました:

1.)nandsimを使用してNAND MTデバイスをシミュレートします

modprobe nandsim first_id_byte=... second_id_byte=.. third_id_byte=.. fourth_id_byte=...

NANDチップIDのリスト

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
2
d3L