今天对boot.img和recovery.img结构做了研究,这是一个十分好玩的事情,当然,在android移植和编译的过程中,也是需要有一定了解的。
Why:
其实为什么要做这个了解呢,起源是源于S-ON的问题,当然,这个是HTC的加密方式,源于硬件,如果还有什么其他的方式,这个在刷机的过程当中,了解了也是有一定帮助的。如果做了这个开关限制的,那么我们的boot.img或者recovery.img在刷入手机后,在启动的时候,会对img分区做一个校验,如果通过,才能让手机启机,否则就停留在某个预订的画面当中。当然,我们是知道的,如果通过破解boot.img的方式去开root模式,那是永远解决了各种root硬伤,虽然麻烦,但是相当好用。而如果遇上了这种检测机制,那在制作这个boot.img包的时候策略就要有所改变了。
当然,这只是一个基础的说明,如果是官方对img进行了CRC加密验证,那么img就刷不了了,就是这么现实。
boot.img是怎么打包在一起的呢?找到bootimg.c文件,看吧。 header + padding + kernel + padding + ramdisk + padding + ...
所以一个boot.img或者recovery.img开头的结构具体
如下:
4 * 2, magic,固定为"ANDROID!"

本文探讨了Android系统中boot.img和recovery.img的结构,包括它们的打包方式、关键参数及其作用。通过分析bootimg.c文件,解释了img文件的头部结构和内容,如magic number、kernel_size、kernel_addr等,并介绍了mkbootimg工具的使用方法。对于理解Android系统启动过程和刷机操作有重要参考价值。
1866

被折叠的 条评论
为什么被折叠?



