Android boot.img的解包/修改/重打包

最近研究对了Android的boot.img的操作,将一些繁琐的东西整理了一下,发到了github:https://github.com/difcareer/BootImgTool/

什么情况下,需要操作boot.img:

  1. 自己编译的linux内核,需要解包boot.img,替换kernel文件后重打包,这样刷机才会生效。
  2. 如果想要修改配置,比如default.prop,也需要这个操作。

下面就以修改配置文件为例说明一下如何操作:

  1. 拉取代码,编译
git clone https://github.com/difcareer/BootImgTool/
cd BootImgTool
chmod 755 build.sh
./build.sh
  1. 使用tmp下的boot.img练手,解包:
bin/unpack-bootimg.sh tmp/boot.img

此时tmp如下:

ll tmp
total 34944
-rw-r--r--   1 andr0day  staff   8.5M  4 16 19:14 boot.img
-rw-r--r--   1 andr0day  staff   8.0M  4 16 19:30 boot.img-kernel.gz //替换kernel时,覆盖此文件
drwxr-xr-x  25 andr0day  staff   800B  4 16 19:30 boot.img-ramdisk //进入此目录修改配置
-rw-r--r--   1 andr0day  staff   488K  4 16 19:30 boot.img-ramdisk.cpio.gz
  1. 修改default.prop:
    在tmp/boot.img-ramdisk/下,找到default.prop进行修改,比如将ro.debuggable=0 改为ro.debuggable=1

  2. 重新打包:

bin/repack-bootimg.sh tmp/boot.img-kernel.gz tmp/boot.img-ramdisk boot.img
Android boot.img的解包/修改/重打包_第1张图片

你可能感兴趣的:(Android boot.img的解包/修改/重打包)