Como posso alterar um único arquivo de uma imagem UBI

2

Eu tenho um arquivo de imagem da ubi (.ubi) e quero alterar um único arquivo dessa imagem ( /etc/network/interfaces para ser preciso).

Como posso alterar um único arquivo dessa imagem da ubi?

Estou usando o OS X, mas também tenho uma VM do Ubuntu.

    
por d3L 05.03.2018 / 13:02

1 resposta

1

Ok, depois de muita leitura, finalmente descobri como fazer isso no Ubuntu:

1.) Simule um dispositivo NAND MT com nandsim

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

Lista de IDs de chip NAND.

2.) Descubra o id do dispositivo MT

cat /proc/mtd | grep -i "NAND Simulator"

3.) Carregar módulo do kernel do UBI

modprobe ubi

4.) Apagar dispositivo MT (você pode pular este passo)

flash_erase /dev/mtdX 0 0

5.) Flash a imagem UBI com ubiformat

ubiformat /dev/mtdX -y -f /path/to/ubi -O XXXX -s XXXX

6.) Anexe o dispositivo MT ao UBI com ubiattach e anote o número do dispositivo UBI

ubiattach -p /dev/mtdX

7.) Monte com mount

mount -t ubifs ubiX /path/to/mount-point/

8.) Faça as alterações.

9.) Crie UBIFS com mkfs.ubifs

mkfs.ubifs -o ubifs.img -m XXXX -e XXXX -c XXXX -v -r /path/to/mount-point/

10.) Crie uma imagem UBI com ubinize

ubinize -o final.ubi -p XXXX -m XXXX -s XXXX -v ubinize.cfg

XXXX = Parâmetro específico do chip flash NAND usado.

ubinize.cfg é algo como isto:

[rootfs]
mode=ubi
image=ubifs.img
vol_name=rootfs
vol_flags=autoresize
vol_type=dynamic
vol_id=0
    
por 06.03.2018 / 13:55

Tags