zoukankan      html  css  js  c++  java
  • How to modify squashfs image

    /**********************************************************************
     *                  How to modify squashfs image
     * 说明:
     *     本文如何使用squashfs-tools对squashfs image进行解压及合成。
     *
     *                                    2016-4-27 深圳 南山平山村 曾剑锋
     *********************************************************************/
    
    参考文档:
        How to modify squashfs image
            https://blog.sleeplessbeastie.eu/2012/05/27/how-to-modify-squashfs-image/
    
    
    You cannot modify squashfs image directly but you can uncompress it, apply changes and compress it again.
    你不能直接修改squashfs镜像,当时你可以解压他,然后修改文件,最后在压缩他。
    
    Create temporary directory and enter it:
    创建暂存文件夹,并进入:
        $ mkdir squashfs-temp
        $ cd squashfs-temp
    
    To uncompress squashfs image (into squashfs-root directory) use unsquashfs command:
    解压squashfs镜像(进入squashfs-root文件夹)使用unsquashfs命令:
        $ unsquashfs /live/image/livefs.squashfs 
        Parallel unsquashfs: Using 4 processors
        79505 inodes (89340 blocks) to write
    
        [===========================================================-] 89340/89340 100%
        created 72260 files
        created 9630 directories
        created 7245 symlinks
        created 0 devices
        created 0 fifos
    
    After applying required changes you can compress it using mksquashfs command:
    修改完你的需求之后,重新压缩并制作squashfs镜像:
        $ mksquashfs squashfs-root/ livefs.squashfs -noappend -always-use-fragments
        Parallel mksquashfs: Using 4 processors
        Creating 4.0 filesystem on livefs.squashfs, block size 131072.
        [===========================================================|] 82095/82095 100%
        Exportable Squashfs 4.0 filesystem, gzip compressed, data block size 131072
              compressed data, compressed metadata, compressed fragments, compressed xattrs
              duplicates are removed
        Filesystem size 1191282.88 Kbytes (1163.36 Mbytes)
              46.01% of uncompressed filesystem size (2589278.95 Kbytes)
        Inode table size 905038 bytes (883.83 Kbytes)
              29.51% of uncompressed inode table size (3066958 bytes)
        Directory table size 917125 bytes (895.63 Kbytes)
              44.02% of uncompressed directory table size (2083295 bytes)
        Number of duplicate files found 9152
        Number of inodes 89135
        Number of files 72260
        Number of fragments 6406
        Number of symbolic links  7246
        Number of device nodes 0
        Number of fifo nodes 0
        Number of socket nodes 0
        Number of directories 9629
        Number of ids (unique uids + gids) 19
        Number of uids 6
              root (0)
              daemon (1)
              milosz (1000)
              kdm (106)
              libuuid (100)
              man (6)
        Number of gids 17
              root (0)
              daemon (1)
              fuse (105)
              shadow (42)
              milosz (1000)
              vboxsf (104)
              tty (5)
              crontab (102)
              mail (8)
              mlocate (107)
              ssh (108)
              messagebus (106)
              nogroup (65534)
              utmp (43)
              utempter (112)
              staff (50)
              libuuid (101)
  • 相关阅读:
    从零开始设计一套指令集及其虚拟机
    一种高效整数开平方算法:逐比特确认法
    C 可变参数函数的本质
    C 基础数据类型 性能测试
    用C在GBA上写光线追踪(0)配置开发编译环境
    用C#写小工具:将圆柱面贴图映射到半球贴图
    Linux 硬盘UUID相同处理方法
    ELK6.x_Kafka 安装配置文档
    Nagios4.x安装配置总结
    Cacti-0.8.8b详细安装及配置步骤
  • 原文地址:https://www.cnblogs.com/zengjfgit/p/5438723.html
Copyright © 2011-2022 走看看