挂载android编译生成的system.img

  1. 找到out/host/linux-x86/bin下simg2img工具:
    这里写图片描述


    将其与system.img放到一个目录中:
    这里写图片描述

  2. 使用该工具对system.img进行解压,命令如下:
    ./simg2img system.img XXX
    这里写图片描述

  3. 新建一个目录,将上一步解压后的XXX文件挂载到该目录中:
    mkdir system_extracted
    sudo mount -o loop system.img.step1 system_extracted
    这里写图片描述


    此时,进入解压后的目录就可以查看system.img的内容了:
    这里写图片描述

  4. 当使用完成后,就需要删除挂载目录了,此时使用如下操作即可:
    sudo umount system_extracted // 先对挂载目录进行卸载
    rm -rf system_extracted // 然后删除该目录
    这里写图片描述





如果有android系统编译集成、frameworks开发问题可以QQ联系68114124,我们一起研究,感谢大家支持!

### RK3568 平台编译生成 boot.img 方法 #### 准备工作 为了顺利编译生成适用于 RK3568 的 `boot.img` 文件,在开始前需确认已准备好以下工具和环境: - 安装有适当版本的 Linux 发行版(如 Ubuntu) - 已获取 Rockchip 提供的官方内核源码库 - 配置好交叉编译器链,通常为 aarch64-linux-gnu- - 下载必要的辅助脚本如 mkbootimg、mkbootfs 和 minigzip 等[^4] #### 编译过程 在准备就绪之后,可以按照如下方式操作以完成 `boot.img` 的构建: 进入 kernel 源代码根目录执行编译指令: ```bash make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- distclean make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rk3568_defconfig make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- -j$(nproc) ``` 上述命令依次完成了清理旧配置、加载默认配置以及实际编译流程。 对于希望简化后续重复编译工作的开发者来说,可以在 kernel 目录创建一个简单的 shell 脚本来自动处理这些步骤,并最终调用 mkbootimg 将 zImage 及其他资源打包成完整的 boot image[^1]。 #### 打包 Boot Image 当拥有最新编译得到的 zImage 后,可利用预先复制过来的 mkbootimg 工具来进行最后一步封装: 假设当前路径存在所需的组件文件,则可以通过下面的方式快速制作出新的 boot.img: ```bash ./mkbootimg --kernel arch/arm64/boot/Image \ --ramdisk initrd.img.lz4 \ --cmdline "console=ttyS2,1500000 root=/dev/mmcblk0p7 rw rootwait" \ --base 0x0 \ --pagesize 2048 \ --output ./new-boot.img ``` 此段命令指定了启动镜像中的核心参数设置,包括但不限于引导控制台位置、root 文件系统挂载点以及其他硬件初始化选项。注意这里使用的具体参数可能依据实际情况有所不同,请参照项目文档调整相应值。 #### 解包与修改 如果需要对现有的 boot.img 进行反向工程或是提取其中的内容以便于进一步定制化开发的话,那么可以借助 Python 脚本 unpack_bootimg.py 来实现这一点: ```python import os os.system('python3 unpack_bootimg.py --boot_img old-boot.img --out output_directory') ``` 这会把原始的 boot.img 分离成为独立的部分存放在指定的目标文件夹里,方便对其进行编辑后再重新组合回一个新的 boot.img 形态[^2]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值