android系统system镜像解包打包制作过程

2023-05-16

**

android系统system镜像解包打包制作过程

  1. 首先确认你的system是哪种类型镜像;yaffs2 ? 还是sparse?

这两种镜像使用的解包工具也不一样,下面以sparse类型镜像描述下操作过程。

  1. 首先把system.img转换成ext4格式(ext4格式才允许mount)
    ./simg2img system.img system_ext4.img
    注:simg2img工具在android/out/host/linux-x86/bin下,是Android源码编译后的产物

  2. 挂载system_ext4镜像
    mkdir system
    sudo mount system_ext4.img system/ -o loop

  3. 以上就是挂载成功后的文件内容,这里我们发现chown或者权限会发生变化,没有关系我们不用关心,这里我们按我们需要对system文件系统进行修改,增删改等操作;

  4. 打包镜像
    (1)将android/out/host/linux-x86/bin下将make_ext4fs拷贝到当前目录下
    (2)查看原system.img镜像大小(600949748);
    (3)将android/out/target/product/xxxxxx/root/file_contexts文件拷贝到当前目录下
    (4)第4步骤中,如果你只是操作 ‘改’ ‘删’ ,跳到(6)继续操作,如果有 ‘增’操作进行(5)
    (5)在file_contexts中增加你在system文件系统中增加文件的SElinux安全上下文权限
    如: /system/bin/vold u:object_r:vold_exec:s0
    (6)sudo make_ext4fs -l 600949748 -s -a system -S file_contexts system_out.img system
    (7)最终的镜像system_out.img完成了

  5. 使用fastboot 升级
    fastboot flash system system_out.img

注意事项:
如果升级后发现系统无法启动,并出现如下log:
在这里插入图片描述
说明你增加的SElinux权限错误,或者SE权限没有对应的.te文件

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

android系统system镜像解包打包制作过程 的相关文章

随机推荐