Android 下解压打包boot.img

Android 产品中,内核格式是Linux标准的zImage,根文件系统采用ramdisk格式。这两者在Android下是直接合并在一起取名为boot.img,会放在一个独立分区当中。这个分区格式是Android自行制定的格式。

在制作手机ROM时,有时会单独编译内核或抽出根文件进行修改内容,比如我只编译内核,其余的地方不变。这样重新安装巨大的Android开发环境实在不划算。因此很多boot.img解包工具被人开发出来,这一些工具都是把内核和根文件系统从一个现成的boot.img抽取出来,修发后再次打包还原。

解包工具 :abootimg

常用用法: ./abootimg -x boot.img,解压后会有3个文件: bootimg.cfg,initrd.img,zImage

解压boot.img 之后会修改initrd.img,一般initrd.img 格式有三种解包方式:

gunzip -c /dev/null |cpio -i 2>/dev/null

lzma -d -c /dev/null |cpio -i 2>/dev/null

dd if=./initrd.img bs=512 skip=1 2>/dev/null | gunzip -c |cpio -i

打包工具:mkbootimg(android自带的),abootimg

常用用法:./mkbootimg --cmdline 'no_console_suspend=1 console=null' --kernel zImage --ramdisk boot/boot.img-ramdisk.gz -o boot.img --base 02e00000

这句含义是把内核文件zImage和boot目录下的根文件压缩包 boot.img-ramdisk.gz打包成boot.img.其中cmdline和base的值均来源于unpackbootimg的结果。

常用用法:abootimg --create boot.img -k kernel -r ramdisk

工具:mkbootimg:链接:https://pan.baidu.com/s/1ZHGsrDxHsq5Odqsqgk8spw 密码:gdbn

abootimg:链接:https://pan.baidu.com/s/1CTROD0HQPVoKxqh6JVkDWQ 密码:r0zd

-----------------------------------------------------------------------------------------------

更多科技生活消息,请关注安卓ROM定制。

  • 发表于:
  • 原文链接:https://kuaibao.qq.com/s/20180615G0V0YZ00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。

扫码关注云+社区

领取腾讯云代金券