You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Android_boot_image_editor/doc/misc_image_layout.md

95 lines
2.9 KiB
Markdown

# /misc partition layout
| - | - | - | Offset | Size | description |
| :---- | :------ | :---- | :---- | :---- | ----- |
| Legacy | bootloader_message | | 0 | (2K) | |
| | |command | | 32 |updated by linux/bootloader |
| | |status | | 32 |deprecated |
| | |recovery | |768 |talking channel between normal/recovery modes |
| | |stage | | 32 |format "#/#", eg, "1/3" |
| | |reserved | | 1184| |
| - | - |- | - | - | - |
| Vendor Area | vendor bootloader msg | N/A | 2K | 2K | Vendor Area |
| | vendor bootloader msg | N/A | 4K | 12K | pure Vendor area |
| - | - | - | - | - | - |
| Wipe | wipe_package info | | 16K | 16K | offset 16KB, Used by uncrypt and recovery to store wipe_package for A/B devices |
| - | - | - | - | - | - |
| System | system_space -> 1<br>misc_virtual_ab_message | | | (64) | |
| | | version | | 1 | |
| | | magic | | 4 | |
| | | merge_status | | 1 | |
| | | source_slot | | 1 | |
| | | reserved | | 57 | |
| | | | | | |
| | | | | | |
### vendor area implementation example from Google:
#### bootctrl.default.so (link libboot_control.a)貌似没人用
使用legacy_boot_control.cpp, 把libboot_control.a的实现的类android::bootable::BootControl包装进去
### android.hardware.boot@1.1-impl
使用BootControl.cpp
```
android::hardware::boot::V1_1::implementation::BootControl
```
直接使用"android::bootable::BootControl"的实现
#### libboot_control.a
code location:
```hardware/interfaces/boot/1.1/default/boot_control```
https://android.googlesource.com/platform/hardware/interfaces/+/refs/heads/master/boot/1.1/default/boot_control/
| - | - | - | Offset | Size | description |
| :---- | :------ | :---- | :---- | :---- | ----- |
| Vendor Area | bootloader_message_ab | | 2K | (2K) | Vendor Area |
| | | slot_suffix | | 32| |
| | | update_channel | |128 | |
| | | reserved | | 1888| |
### 32 BYTES "slot_suffix" part details:
| - | - | - | Offset | Size | description |
| :---- | :------ | :---- | :---- | :---- | ----- |
| | bootloader_control | | | (32) | |
| | | slot_suffix | | 4 | |
| | | magic | | 4 | |
| | | version | | 1 | |
| | | nb_slot | | 3bits | number slots |
| | | recovery_tries_remaining | | 3bits | |
| | | merge_status | | 3bits | |
| | | reserved0 | | 1 | |
| | | slot_info | | 8 | slot_metadata * 4 |
| | | reverved1 | | 8 | |
| | | crc32_le | | 4 | |
| | | | | | |
| | slot_metadata | | | (2) | |
| | | priority | | 4bits | |
| | | tries_remaining | | 3bits | |
| | | successful_boot | | 1bit | |
| | | verity_corrupted | | 1bit | |
| | | reserved | | 7bits | |
| | | | | | |