squashfs文件系统分析与制作

前段时间遇到一个海思Hi3519开发板,文件系统较特殊,是squashfs,文件系统的特点是只读,使用mount -o remout,rw 无法更改为rw,以为之前没有遇到过,就研究了一下:

使用squashfs-tools分析文件系统镜像,并制作自己的文件系统

使用squashfs文件系统,bootargs需要修改

bootargs=mem=512M console=ttyAMA0,115200 root=/dev/mtdblock2 rootfstype=squashfs rwmtdparts=hi_sfc:1M(boot),3M(kernel),8M(rootfs),3M(program),1M(param)

内核可能需要选项支持,待确认。

需要用到的工具:squashfs目前最新版本4.3

https://sourceforge.net/projects/squashfs/

tar

cd squashfs-tools

vi Makefile  修改XZ_SUPPORT = 1

注1

Squashfs默认不支持xz,需要如上修改Makefile,修改之后,编译有个错,缺少liblzma-dev,安装liblzma-dev_5.1.1alpha+20120614-2ubuntu2_i386.deb解决。

 

分析文件系统镜像

root@vmw:/opt/Hisi/Hi3519/squashfs4.3# unsquashfs -srootfs_glibc_master_squashfs.img  

Found a valid SQUASHFS 4:0 superblock onrootfs_glibc_master_squashfs.img.

Creation or last append time Sun Nov 5 11:17:38 2017

Filesystem size 9294.89 Kbytes (9.08 Mbytes)

Compression xz                                           // 制作镜像时需要用到的参数,注1

Block size 65536                           // 制作镜像时需要用到的参数

Filesystem is exportable via NFS

Inodes are compressed

Data is compressed

Fragments are compressed

Always-use-fragments option is not specified

Xattrs are compressed

Duplicates are removed

Number of fragments 87

Number of inodes 1271

Number of ids 2

 

制作文件系统镜像

mksquashfs/opt/Hisi/Hi3519/Hi3519V101_SDK_V1.0.2.0/osdrv/pub/rootfs_uclibc_big-little3519_wqw.sqhfs -b 65536 -comp xz

 

烧写

与其他文件系统烧写方法一样。

--------temp test

        mw.b 82000000 ff 800000

        tftp 0x82000000 3519_wqw.sqhfs

        sf probe 0

        sf erase 400000 800000

        sf write 82000000 400000 800000 

              

  • 1
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值