• linux下system.img解包和打包(android rom修改)


    一、准备工具

    linux系统下:

    1、安装工具软件

    sudo apt install android-sdk-libsparse-utils

    2、下载make_ext4fs

    make_ext4fs,linux下system.img打包工具-Android文档类资源-CSDN下载

    3、基础知识(可选看不看,不看进入下一步)

    system.img的有两种格式raw,sparse ,在linux 下执行:file system.img

    ① 一种是raw ext4 image,即经常说的raw image,使用file观察它: 其特点是完整的ext4分区镜像(包含很多全零的无效填充区),可以直接使用mount进行挂载,因此比较大(一般1G左右)。file 查看

    $ file system.img
    system.img:Linux rev 1.0 ext4 filesystem data, UUID=da594c53-9beb-f85c-85c5-cedf76546f7a, volume name "system" (extents) (large files)

    ② 另一种是sparse ext4 image,即经常说的simg
    就是说是一个非常普通的dat文件。由于它将raw ext4进行稀疏描述,因此尺寸比较小(没有全零的无效填充区,一般在300到500M之间)。file查看:

    $ file system.img
    system.img: Android sparse image, version: 1.0, Total of 393216 4096-byte output blocks in 40 input chunks. 


    android本身提供了源代码工具在两者之间转换,源代码位于
    system/core/libsparse/simg2img.c // 将sparse image转换为raw image;
    system/core/libsparse/img2simg.c // 将raw image转换为sparse image;
     

    二、解包

    1. //解包
    2. $ sudo simg2img system.img system.img.ext4
    3. //创建一个目录
    4. $ sudo mkdir sysmain
    5. //将解包的ext4文件挂载到sysmain
    6. $ sudo mount -o loop system.img.ext4 sysmain

    接下来你就可以 cd 到sysmain中修改  镜像内容了!!!

    三、打包

    以下方法任选一种即可

    方法①:

    sudo ./make_ext4fs -l 1456M -s -a system systest.img sysmain
    

    如果执行报错“error: ext4_allocate_best_fit_partial: failed to allocate 2260 blocks, out ...” ,请将上诉-l 后面的大小调大 点(但不要太大,否则可能要修改 刷机配置,如mtk的 scatter.txt文件!)

    出来的镜像systest.img 就是修改过的,可以重命名 为system.img,如果 设备没有安全启动 那么就能启动成功!

    方法②:

    $ sudo umount sysmain

    $ sudo img2simg system.img.ext4  systest.img

    完成!方法② 也适用于 userdata.img 的修改!!亲测有效

    -----------

    ps 1:mtk的话刷机工具为 SP_Flash_Tool

    ps 2:安全启动只对只读分区做签名校验

  • 相关阅读:
    ubuntu 定时发送邮件
    JuiceFS v1.0 beta3 发布,支持 etcd、Amazon MemoryDB、Redis Cluster
    亚马逊云科技产品测评』活动征文|通过使用Amazon Neptune来预测电影类型初体验
    Fiddler的下载安装及使用(包括在测试中的使用)
    搭建MinIO容器
    C/C++之链表的建立
    数组容器装水问题解法
    计算机网络——HTTPS协议
    页面置换算法(OPT、FIFO、LRU、时钟、LFU)
    24.Ubuntu新磁盘挂载
  • 原文地址:https://blog.csdn.net/ab6326795/article/details/125993855