Android 에서 사용되는 boot.img 는 다음과 같이 구성되어 있다(ICS 기준).
각 구성부는 Page 크기에 맞춰 Align 되어 있다.
– Boot Image Header(1 page) (system/core/mkbootimng/bootimg.h 참고)
+ magic(8 bytes) : ANDROID!
+ kernel size(4 bytes)
+ kernel address(4 bytes)
+ ramdisk size(4 bytes)
+ ramdisk address(4 bytes)
+ second stage size(4 bytes)
+ second stage address(4 bytes)
+ kernel tags physical address(4 bytes)
+ page size(4 bytes)
+ reserved(8 bytes) : Should be 0
+ product name(16 bytes)
+ cmdline(512 bytes)
+ id(32 bytes) : timestamp, checksum, sha1, etc
– Kernel(zImage)
– Ram Disk
– Second stage