当前位置: 首页 > 工具软件 > SquashFS > 使用案例 >

基于squashfs文件系统的liveCD内容修改

梁宏才
2023-12-01


squashfs文件系统简介

SquashFS是一套基于Linux内核使用的压缩只读文件系统。该文件系统能够压缩系统内的文档,inode以及目录,文件最大支持2^64字节。常用到嵌入式linux系统中,SquashFS可以将整个文件系统压缩在一起,存放在某个设备,某个分区或者普通的文件中。如果将其压缩到一个设备中,那么可以将其直接 mount 起来使用,而如果它仅仅是个文件的话,可以将其当为一个 loopback 设备使用。


软件环境

  1. 操作系统:fedora31
  2. 相关工具:squashfs-tools
  3. 目标系统:fedora19 livecd

操作流程

以fedroa19 livecd为例

  1. 将fedora19 livecd挂载到系统。
  2. 使用命令blkid查看iso LABEL信息并记录,如:fedora19 LABEL为:Fedora-Live-Desktop-i686-19-1,如iso无法挂载可以使用isoinfo命令查看相应信息。
  3. 将iso中所有内容复制出来,如复制到$HOME/iso目录下,后续步骤以此目录为主。
  4. 进入$HOME/iso/LiveOS目录中,使用命令unsquashfs squashfs.img将squashfs.img解压,解压后得到squashfs-root。目录结构:squashfs-root/LiveOS/ext3fs.img。
  5. 挂载解压得到的ext3fs.img,如:将img文件挂载到 $HOME/rootfs目录下:进入LiveOS目录,执行mount –o loop,rw ext3fs.img $HOME/rootfs,得到liveOS的内容。
  6. 进入rootfs目录,对liveOS进行修改,修改完毕后卸载ext3fs.img。
  7. 重新打包squashfs,mksquashfs squashfs-root squashfs.img。打包完成后,删除squashfs-root。
  8. 进入iso目录重新打包livecd。命令如下: mkisofs -R -b isolinux/isolinux.bin -c isolinux/boot.cat -o /home/fedora/fedora.iso -V "fedora-19" -no-emul-boot -boot-load-size 4 -boot-info-table . -o用来指定iso输出文件,-V指定iso的LABEL,此处LABEL必须为之前查到LABEL。如不一致可能会造成livecd不能启动。
    执行以上命令时注意当前目录,可以根据实际情况修改修改命令
 类似资料: