Android 9.0之前的boot header:
struct boot_img_hdr
{
uint8_t magic[BOOT_MAGIC_SIZE];
uint32_t kernel_size; /* size in bytes */
uint32_t kernel_addr; /* physical load addr */
uint32_t ramdisk_size; /* size in bytes */
uint32_t ramdisk_addr; /* physical load addr */
uint32_t second_size; /* size in bytes */
uint32_t second_addr; /* physical load addr */
uint32_t tags_addr; /* physical addr for kernel tags */
uint32_t page_size; /* flash page size we assume */
uint32_t unused;
uint32_t os_version;
uint8_t name[BOOT_NAME_SIZE]; /* asciiz product name */
uint8_t cmdline[BOOT_ARGS_SIZE];
uint32_t id[8]; /* timestamp / checksum / sha1 / etc */
uint8_t extra_cmdline[BOOT_EXTRA_ARGS_SIZE];
};
Android 9.0之后的boot header:
struct boot_img_hdr
{
uint8_t magic[BOOT_MAGIC_SIZE];
uint32_t kernel_size; /* size in bytes */
uint32_t kernel_addr; /*
Android 9.0前后Boot Image Header结构解析

本文详细介绍了Android 9.0之前和之后的Boot Image Header结构,包括宏定义和结构体成员的偏移计算。特别地,讨论了`recovery_dtbo_size`的偏移地址为0x660。内容提及VTS测试中对boot/recovery header信息的检查,并提供了Android官方文档作为参考资料。
最低0.47元/天 解锁文章
540

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



