Merge changes Ib5a63a7b,If00f581a

* changes:
  fastboot: copy AVB footer from init_boot.img to end of partition
  fastboot: Support flashing init_boot.img into init_boot partition
This commit is contained in:
Devin Moore 2022-01-07 16:24:13 +00:00 committed by Gerrit Code Review
commit 12e5f038a9
3 changed files with 9 additions and 3 deletions

View file

@ -172,7 +172,8 @@ int Flash(FastbootDevice* device, const std::string& partition_name) {
return -EOVERFLOW;
} else if (data.size() < block_device_size &&
(partition_name == "boot" || partition_name == "boot_a" ||
partition_name == "boot_b")) {
partition_name == "boot_b" || partition_name == "init_boot" ||
partition_name == "init_boot_a" || partition_name == "init_boot_b")) {
CopyAVBFooter(&data, block_device_size);
}
if (android::base::GetProperty("ro.system.build.type", "") != "user") {

View file

@ -109,7 +109,7 @@ _fastboot_cmd_flash() {
cur="${COMP_WORDS[COMP_CWORD]}"
if [[ $i -eq $COMP_CWORD ]]; then
partitions="boot bootloader dtbo modem odm odm_dlkm oem product pvmfw radio recovery system system_dlkm vbmeta vendor vendor_dlkm"
partitions="boot bootloader dtbo init_boot modem odm odm_dlkm oem product pvmfw radio recovery system system_dlkm vbmeta vendor vendor_dlkm"
COMPREPLY=( $(compgen -W "$partitions" -- $cur) )
else
_fastboot_util_complete_local_file "${cur}" '!*.img'

View file

@ -141,6 +141,10 @@ struct Image {
static Image images[] = {
// clang-format off
{ "boot", "boot.img", "boot.sig", "boot", false, ImageType::BootCritical },
{ "init_boot",
"init_boot.img", "init_boot.sig",
"init_boot",
false, ImageType::BootCritical },
{ nullptr, "boot_other.img", "boot.sig", "boot", true, ImageType::Normal },
{ "cache", "cache.img", "cache.sig", "cache", true, ImageType::Extra },
{ "dtbo", "dtbo.img", "dtbo.sig", "dtbo", true, ImageType::BootCritical },
@ -1072,7 +1076,8 @@ static void flash_buf(const std::string& partition, struct fastboot_buffer *buf)
{
sparse_file** s;
if (partition == "boot" || partition == "boot_a" || partition == "boot_b") {
if (partition == "boot" || partition == "boot_a" || partition == "boot_b" ||
partition == "init_boot" || partition == "init_boot_a" || partition == "init_boot_b") {
copy_boot_avb_footer(partition, buf);
}