@ -1,8 +1,8 @@
/*
* This is from the Android Project ,
* Repository : https : //android.googlesource.com/platform/bootable/bootloader/legacy
* File : include / boot / bootimg . h
* Commit : 4205 b865141ff2e255fe1d3bd16de18e217ef06a
* Repository : https : //android.googlesource.com/platform/system/core/
* File : mkbootimg / bootimg . h
* Commit : d162828814b08ada310846a33205befb69ef5799
*
* Copyright ( C ) 2008 The Android Open Source Project
*
@ -12,10 +12,13 @@
# ifndef _ANDROID_IMAGE_H_
# define _ANDROID_IMAGE_H_
typedef struct andr_img_hdr andr_img_hdr ;
# define ANDR_BOOT_MAGIC "ANDROID!"
# define ANDR_BOOT_MAGIC_SIZE 8
# define ANDR_BOOT_NAME_SIZE 16
# define ANDR_BOOT_ARGS_SIZE 512
# define ANDR_BOOT_EXTRA_ARGS_SIZE 1024
struct andr_img_hdr {
char magic [ ANDR_BOOT_MAGIC_SIZE ] ;
@ -31,14 +34,25 @@ struct andr_img_hdr {
u32 tags_addr ; /* physical addr for kernel tags */
u32 page_size ; /* flash page size we assume */
u32 unused [ 2 ] ; /* future expansion: should be 0 */
u32 unused ; /* reserved for future expansion: MUST be 0 */
/* operating system version and security patch level; for
* version " A.B.C " and patch level " Y-M-D " :
* ver = A < < 14 | B < < 7 | C ( 7 bits for each of A , B , C )
* lvl = ( ( Y - 2000 ) & 127 ) < < 4 | M ( 7 bits for Y , 4 bits for M )
* os_version = ver < < 11 | lvl */
u32 os_version ;
char name [ ANDR_BOOT_NAME_SIZE ] ; /* asciiz product name */
char cmdline [ ANDR_BOOT_ARGS_SIZE ] ;
u32 id [ 8 ] ; /* timestamp / checksum / sha1 / etc */
} ;
/* Supplemental command line data; kept here to maintain
* binary compatibility with older versions of mkbootimg */
char extra_cmdline [ ANDR_BOOT_EXTRA_ARGS_SIZE ] ;
} __attribute__ ( ( packed ) ) ;
/*
* + - - - - - - - - - - - - - - - - - +