最近研究对了Android的boot.img的操作,将一些繁琐的东西整理了一下,发到了github:https://github.com/difcareer/BootImgTool/
什么情况下,需要操作boot.img:
- 自己编译的linux内核,需要解包boot.img,替换kernel文件后重打包,这样刷机才会生效。
- 如果想要修改配置,比如default.prop,也需要这个操作。
下面就以修改配置文件为例说明一下如何操作:
- 拉取代码,编译
git clone https://github.com/difcareer/BootImgTool/
cd BootImgTool
chmod 755 build.sh
./build.sh
- 使用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
-
修改default.prop:
在tmp/boot.img-ramdisk/下,找到default.prop进行修改,比如将ro.debuggable=0
改为ro.debuggable=1
-
重新打包:
bin/repack-bootimg.sh tmp/boot.img-kernel.gz tmp/boot.img-ramdisk boot.img

网友评论