squashfs重打包和ubi重打包

先查询文件系统相关信息

unsquashfs -s jike.squashfs

Found a valid SQUASHFS 4:0 superblock on jike.squashfs.
Creation or last append time Sun Sep 13 16:56:13 2020
Filesystem size 8862.58 Kbytes (8.65 Mbytes)
Compression xz
Block size 262144
Filesystem is exportable via NFS
Inodes are compressed
Data is compressed
Fragments are compressed
Always-use-fragments option is not specified
Xattrs are not stored
Duplicates are removed
Number of fragments 33
Number of inodes 935
Number of ids 1

是xz压缩的,块大小256K,没有扩展属性

解包文件系统,并修改文件系统

unsquashfs jike.squashfs

修改过程略

打包squashfs,使用xz压缩,块大小256K

mksquashfs squashfs-root jike2.squashfs -b 256K -comp xz -no-xattrs

查询ubi的信息

ubinfo -a 

取出内核镜像

cp /dev/ubi0_0 jike.kernel

将kernel和rootfs打包为ubi镜像下述配置保存为ubi.ini

[kernel]
mode=ubi
image=jike.kernel
vol_id=0
vol_type=static
vol_name=kernel
vol_size=6200KiB

[rootfs]
mode=ubi
image=jike2.squashfs
vol_id=1
vol_type=dynamic
vol_name=ubi_rootfs

[data]
mode=ubi
vol_id=2
vol_type=dynamic
vol_name=rootfs_data
vol_flags=autoresize

ubi打包两个卷

ubinize -o img.ubi -m 2048 -p 128KiB ubi.ini -v 


验证ubi.img

加载mtd和ubi模块

modprobe mtdblock
modprobe ubi

加载nandsim模拟nand设备

modprobe nandsim first_id_byte=0xc8 second_id_byte=0xa1 third_id_byte=0x80 fourth_id_byte=0x15
cat /proc/mtd
dev:    size   erasesize  name
mtd0: 08000000 00020000 "NAND simulator partition 0"


 查询mtd0的信息

mtdinfo /dev/mtd0

将 ubi 与 /dev/mtd0 关联

modprobe ubi mtd=0

将 rootfs.ubi 加载到mtd设备,需要 mtd-utils 工具箱 (ubuntu apt install mtd-utils)

解除绑定

ubidetach /dev/ubi_ctrl -m 0

加载镜像

ubiformat /dev/mtd0 -s 2048 -f img.ubi -O 2048
ubiattach /dev/ubi_ctrl -m 0 -O 2048

查询ubi信息

ubinfo -a

这样重打包就完成了

 

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值