|
|
|
# layout of boot.img
|
|
|
|
|
|
|
|
### 1. header part
|
|
|
|
|
|
|
|
item size in bytes
|
|
|
|
+----------------------------------------------------------+
|
|
|
|
|<MAGIC HEADER> | 8 |
|
|
|
|
|--------------------------------+-------------------------|
|
|
|
|
|<kernel length> | 4 |
|
|
|
|
|--------------------------------+-------------------------|
|
|
|
|
|<kernel offset> | 4 |
|
|
|
|
|--------------------------------+-------------------------|
|
|
|
|
|<ramdisk length> | 4 |
|
|
|
|
|--------------------------------+-------------------------|
|
|
|
|
|<ramdisk offset> | 4 |
|
|
|
|
|--------------------------------+-------------------------|
|
|
|
|
|<second bootloader length> | 4 |
|
|
|
|
|--------------------------------+-------------------------|
|
|
|
|
|<second bootloader offset> | 4 |
|
|
|
|
|--------------------------------+-------------------------|
|
|
|
|
|<tags offset> | 4 |
|
|
|
|
|--------------------------------+-------------------------|
|
|
|
|
|<page size> | 4 |
|
|
|
|
|--------------------------------+-------------------------|
|
|
|
|
|<header version> | 4 |
|
|
|
|
|--------------------------------+-------------------------|
|
|
|
|
|<os version& os patch level> | 4 |
|
|
|
|
|--------------------------------+-------------------------|
|
|
|
|
|<board name> | 16 |
|
|
|
|
|--------------------------------+-------------------------|
|
|
|
|
|<cmdline part 1> | 512 |
|
|
|
|
|--------------------------------+-------------------------|
|
|
|
|
|<hash digest> | 32 |
|
|
|
|
|--------------------------------+-------------------------|
|
|
|
|
|<cmdline part 2> | 1024 |
|
|
|
|
|--------------------------------+-------------------------|
|
|
|
|
|<dtbo length> | 4 |
|
|
|
|
|--------------------------------+-------------------------|
|
|
|
|
|<dtbo offset> | 8 |
|
|
|
|
|--------------------------------+-------------------------|
|
|
|
|
|<header size> | 4 |
|
|
|
|
|--------------------------------+-------------------------|
|
|
|
|
|<padding> | min(n * page_zie - 1648)|
|
|
|
|
+----------------------------------------------------------+
|
|
|
|
|
|
|
|
### 2. data part
|
|
|
|
|
|
|
|
+----------------------------------------------------------+
|
|
|
|
|<kernel> | kernel length |
|
|
|
|
|--------------------------------+-------------------------|
|
|
|
|
|<padding> | min(n * page_zie - len)|
|
|
|
|
+----------------------------------------------------------+
|
|
|
|
|
|
|
|
+--------------------------------+-------------------------+
|
|
|
|
|<ramdisk> | ramdisk length |
|
|
|
|
|--------------------------------+-------------------------|
|
|
|
|
|<padding> | min(n * page_zie - len)|
|
|
|
|
+----------------------------------------------------------+
|
|
|
|
|
|
|
|
+--------------------------------+-------------------------+
|
|
|
|
|<second bootloader> | second bootloader length|
|
|
|
|
|--------------------------------+-------------------------|
|
|
|
|
|<padding> | min(n * page_zie - len)|
|
|
|
|
+----------------------------------------------------------+
|
|
|
|
|
|
|
|
+--------------------------------+-------------------------+
|
|
|
|
|<recovery dtbo> | recovery dtbo length |
|
|
|
|
|--------------------------------+-------------------------|
|
|
|
|
|<padding> | min(n * page_zie - len)|
|
|
|
|
+----------------------------------------------------------+
|
|
|
|
|
|
|
|
### 3. signature part
|
|
|
|
|
|
|
|
#### 3.1 Boot Image Signature (VBoot 1.0)
|
|
|
|
|
|
|
|
+--------------------------------+-------------------------+
|
|
|
|
|<signature> | signature length |
|
|
|
|
|--------------------------------+-------------------------|
|
|
|
|
|<padding> | defined by boot_signer |
|
|
|
|
+----------------------------------------------------------+
|
|
|
|
|
|
|
|
#### 3.2 AVB Footer (VBoot 2.0)
|
|
|
|
|
|
|
|
+--------------------------------+-------------------------+
|
|
|
|
|<signature> | signature length |
|
|
|
|
|--------------------------------+-------------------------|
|
|
|
|
| ... | ... |
|
|
|
|
|<padding> | defined by avbtool, |
|
|
|
|
|<padding> | it will pad to requested|
|
|
|
|
|<padding> | image size |
|
|
|
|
| ... | ... |
|
|
|
|
+----------------------------------------------------------+
|