首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何从UBI映像中更改单个文件?

如何从UBI映像中更改单个文件?
EN

Unix & Linux用户
提问于 2018-03-05 12:02:50
回答 1查看 8.4K关注 0票数 5

我有一个ubi图像文件(.ubi),我希望从该图像中更改一个文件(准确地说,是/etc/network/interfaces)。

如何从这个ubi映像中更改一个文件?

我正在使用OS,但我也有一个Ubuntu。

EN

回答 1

Unix & Linux用户

回答已采纳

发布于 2018-03-06 12:55:11

好的,在阅读了很多之后,我终于想出了如何在Ubuntu上完成它:

1.)用nandsim模拟NAND器件

代码语言:javascript
复制
modprobe nandsim first_id_byte=... second_id_byte=.. third_id_byte=.. fourth_id_byte=...

NAND芯片ID列表.

2.)查找MT-设备id

代码语言:javascript
复制
cat /proc/mtd | grep -i "NAND Simulator"

3.)加载UBI内核模块

代码语言:javascript
复制
modprobe ubi

4.)擦除MT-设备(您可以跳过这一步)

代码语言:javascript
复制
flash_erase /dev/mtdX 0 0

5.)用ubiformat闪存UBI图像

代码语言:javascript
复制
ubiformat /dev/mtdX -y -f /path/to/ubi -O XXXX -s XXXX

6.)用ubiattach将MT-设备附加到UBI上,并记下UBI设备号。

代码语言:javascript
复制
ubiattach -p /dev/mtdX

7.)用mount安装它

代码语言:javascript
复制
mount -t ubifs ubiX /path/to/mount-point/

8.)做些改变。

9.)用mkfs.ubifs创建UBIFS

代码语言:javascript
复制
mkfs.ubifs -o ubifs.img -m XXXX -e XXXX -c XXXX -v -r /path/to/mount-point/

10.)用ubinize创建UBI图像

代码语言:javascript
复制
ubinize -o final.ubi -p XXXX -m XXXX -s XXXX -v ubinize.cfg

XXXX =特定于所使用的NAND闪存芯片的参数。

ubinize.cfg看起来如下所示:

代码语言:javascript
复制
[rootfs]
mode=ubi
image=ubifs.img
vol_name=rootfs
vol_flags=autoresize
vol_type=dynamic
vol_id=0
票数 5
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/428238

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档