一、squashfs简介

Squashfs是一套基于Linux内核使用的压缩只读文件系统。该文件系统能够压缩系统内的文档,inode以及目录,文件最大支持2^64字节

特点:

  • 数据(data),节点(inode)和目录(directories)都被压缩
  • 保存了全部的32位uid/gids和文件的创建时间
  • 支持多达4G的文件系统
  • 节点和目录都是高度压缩, 所有压缩的节点长度平均在8个字节左右
  • squashfs可以有更大的块大小, 这样可以达到比4K块大小更大的压缩率
  • squashfs引进了碎片块(fragment blocks)的概念: 一种将许多比块小的文件存储在一个块中, 以达到更大的压缩率
  • 重复的文件会被检测并删除掉
  • 同时支持big和little endian架构

编译使用SQ的基本步骤:

  • 重新打包和编译linux内核, 使之支持SQ
  • 编译mksquashfs工具
  • 使用mksquashf创建压缩文件系统
  • 挂载: mount suqash文件系统到一个临时目录
  • 如果需要自动挂载,更改/etc/fstab 或者起始脚本, 以使linux操作系统自动加载新的 squashfs 文件系统

二、flash分区

  • fdisk是用来查看硬盘分区的,不能查看flash分区,因为flash是没有所谓的分区表
  • 查看flash分区使用命令cat /proc/partitions
  • 不像硬盘通过命令分区,flash分区是Linux内核中实现的
  • Uboot没有对Nandflash进行分区,通过bootargs参数将分区信息传递给内核
setenv bootargs 'mem=64M console=ttyAMA0,115200 rw root=/dev/mtdblock2 rootfstype=squanshfs mtdparts=hi_sfc:1M(boot),4M(kernel),12M(rootfs)'

参考链接:https://blog.csdn.net/wesleyluo/article/details/8102361

三、文件系统镜像制作

mksquashfs source dest [options] [-e list of exclude dirs/files]:

  • eg:mksquashfs xxx.squashfs -b 64K -comp xz
  • -b <block_size>:设置块大小,单位 Bytes,默认 131072 bytes (1MB)
  • -comp:指定压缩算法:gzip (default)/lzo/xz

参考链接:https://blog.csdn.net/qq_40083589/article/details/82948536

四、镜像使用

提取镜像中的文件:

unsquashfs xxx.squashfs

将镜像文件转换为一个块设备:

sudo losetup /dev/myloop xxx.squashfs

将块设备挂载到主文件系统的目录:

sudo mount /dev/myloop dirname

就可以进入dirname目录,对该虚拟磁盘进行操作了,就像使用真实磁盘一样

卸载该镜像:

sudo umount /dev/myloop
sudo losetup -d /dev/myloop

参考链接:https://blog.csdn.net/qq_40083589/article/details/82948536

系统篇: squashfs 文件系统相关推荐

  1. Linux系统篇-文件系统虚拟文件系统

    看了之前的关于Linux内存管理和进程调度的文章,相比读者们应该对Linux有了大致的了解,本文的主题是Linux虚拟文件系统.闲话少说,开始! 1.软链接和硬链接的区别 我们知道文件都有文件名与数据 ...

  2. Windows变慢原因分析及解决方法·系统篇

    Windows变慢原因分析及解决方法·系统篇 系统加速 一 [Windows 98 ] 1.不要加载太多随机启动程序 不要在开机时载入太多不必要的随机启动程序.选择"开始→程序→附件→系统工 ...

  3. Linux - SquashFS文件系统

    在构建Linux系统时,有时会有一个文件rootfs.squashfs,这个是linux的文件系统文件.另外还可能会有一个xImage的kernel文件和u-boot.bin的uboot文件. === ...

  4. linux下squashfs使用方法,squashfs 文件系统简介

    squashfs 是一个高度压缩的只读文件系统,它可以将高达 2-3GB 的数据压缩到一个只有 700M 的文件中.如果你有使用到 Linux 的 Live CD ,那么你会看到 squashfs 的 ...

  5. 计算机维护常识_系统篇

    活到老,学到老.,动物家园([url]www.kingzoo.com[/url])一天学一点从新开课了.如果你觉的对您非常有用,那就麻烦帮忙推荐下动物家园([url]www.kingzoo.com[/ ...

  6. PE格式详细讲解4 - 系统篇04|解密系列

    PE格式详细讲解4 - 系统篇04 让编程改变世界 Change the world by program   到此为止,小甲鱼和大家已经学了许多关于 DOS header 和 PE header 的 ...

  7. PE格式详细讲解1 - 系统篇01|解密系列

    PE格式详细讲解1 - 系统篇01 让编程改变世界 Change the world by program 由于时间关系,这里只整理出必要的课件内容,详细请下载具体课件和详细讲解视频. [codesy ...

  8. PE格式详细讲解11 - 系统篇11|解密系列

    PE格式详细讲解11 - 系统篇11 让编程改变世界 Change the world by program   今天我们来谈谈资源部分,资源部分可以说是 PE 文件所有结构中,最复杂的一部分,也最让 ...

  9. 数平精准推荐 | OCR技术之系统篇

    导语:如果说算法和数据是跑车的发动机和汽油,那么系统则是变速箱,稳定而灵活的变速箱,是图像识别服务向前推进的基础.算法.数据.系统三位一体,随着算法的快速发展和数据的日益积累,系统也在高效而稳定地升级 ...

最新文章

  1. 你说你懂互联网,那这些你知道么?
  2. 防止Domino邮件服务器作为垃圾邮件转发服务器
  3. 在Python中使用LDA处理文本
  4. 使用增强型后缀数组(ESA)的文本匹配算法
  5. java 链接mysql 产生500W数据模拟生成环境
  6. java list 循环赋值_Java List集合的坑(add方法报空指针,循环赋值时list已保存的值会改变)...
  7. LeetCode 1576. 替换所有的问号
  8. ultraedit教程java_Java开发工具配置UltraEdit基础教程
  9. .net生成缩略图,支持等比例缩放,加水印
  10. python os模块 os.chmod
  11. 管理:权力是用来完成责任的
  12. 计算机硬盘检测不到,电脑经常检测不到硬盘怎么办
  13. Hive——多行转一行及一行转多行
  14. 无需MS Office创建Excel!再C ++中以编程方式在Excel电子表格中创建图表
  15. Linux系统下Qt项目实战(原神模拟器)
  16. sa-token使用
  17. php 豆瓣isbn接口,ISBN书号查询
  18. 关于长期久坐网站开发程序员身体健康的5点建议
  19. CSDN自定义模块高级设置之(2)——设置主页左则及详情页背景(打造节日气氛)
  20. 生死学学习笔记(一)

热门文章

  1. 1.4半监督生成对抗网络(SGAN)
  2. 美团地推主要是做什么的
  3. 一文读懂linux操作系统
  4. 使用Django构建个人网站(十)——注册内容追加,前端知识大应用
  5. mybatis多表关联映射
  6. 【高并发】高并发秒杀系统架构解密,不是所有的秒杀都是秒杀!
  7. MySQL的字符串拼接函数
  8. Latex参考文献斜体变正体方法
  9. python解压gz_python解压gz
  10. 机器学习及flinkML算法学习