From 33b51765583e6cbe1888f068da795bea599bad18 Mon Sep 17 00:00:00 2001 From: Guillaume La Roque Date: Thu, 5 Aug 2021 17:17:28 +0200 Subject: [PATCH] configs: sei510/610: android bootflow via abootimg Activate the following Kconfig options: * AVB for Android Verified Boot support * ADTIMG for merging DTBOs * ABOOTIMG for extracting Android boot image Also rework the partitioning tables: - add a misc partition to handle BCB messages - add a dtbo partition to store various DTBOs - add a vbmeta partition for AVB hashes - Merge vendor and system into the "super" partition Note: avb support is disables by default. To activate it: => setenv force_avb 1; => saveenv; Signed-off-by: Guillaume La Roque Signed-off-by: Mattijs Korpershoek Acked-by: Neil Armstrong Signed-off-by: Neil Armstrong --- configs/sei510_defconfig | 5 +++++ configs/sei610_defconfig | 5 +++++ include/configs/sei510.h | 11 +++++++---- include/configs/sei610.h | 13 ++++++++----- 4 files changed, 25 insertions(+), 9 deletions(-) diff --git a/configs/sei510_defconfig b/configs/sei510_defconfig index 74328f2fd4..8099b40b55 100644 --- a/configs/sei510_defconfig +++ b/configs/sei510_defconfig @@ -20,7 +20,10 @@ CONFIG_PREBOOT="run load_logo" # CONFIG_CONSOLE_MUX is not set # CONFIG_DISPLAY_CPUINFO is not set CONFIG_MISC_INIT_R=y +CONFIG_AVB_VERIFY=y # CONFIG_CMD_BDI is not set +CONFIG_CMD_ADTIMG=y +CONFIG_CMD_ABOOTIMG=y # CONFIG_CMD_IMI is not set CONFIG_CMD_BCB=y CONFIG_CMD_GPIO=y @@ -32,6 +35,7 @@ CONFIG_CMD_USB_MASS_STORAGE=y # CONFIG_CMD_SETEXPR is not set CONFIG_CMD_BMP=y CONFIG_CMD_REGULATOR=y +CONFIG_CMD_AVB=y CONFIG_OF_CONTROL=y CONFIG_ENV_IS_IN_MMC=y CONFIG_SYS_RELOC_GD_ENV_ADDR=y @@ -84,4 +88,5 @@ CONFIG_VIDEO_BMP_RLE8=y CONFIG_BMP_16BPP=y CONFIG_BMP_24BPP=y CONFIG_BMP_32BPP=y +CONFIG_LIBAVB=y CONFIG_OF_LIBFDT_OVERLAY=y diff --git a/configs/sei610_defconfig b/configs/sei610_defconfig index 2a6d0e5995..e11f36ac79 100644 --- a/configs/sei610_defconfig +++ b/configs/sei610_defconfig @@ -20,7 +20,10 @@ CONFIG_PREBOOT="run load_logo" # CONFIG_CONSOLE_MUX is not set # CONFIG_DISPLAY_CPUINFO is not set CONFIG_MISC_INIT_R=y +CONFIG_AVB_VERIFY=y # CONFIG_CMD_BDI is not set +CONFIG_CMD_ADTIMG=y +CONFIG_CMD_ABOOTIMG=y # CONFIG_CMD_IMI is not set CONFIG_CMD_BCB=y CONFIG_CMD_GPIO=y @@ -32,6 +35,7 @@ CONFIG_CMD_USB_MASS_STORAGE=y # CONFIG_CMD_SETEXPR is not set CONFIG_CMD_BMP=y CONFIG_CMD_REGULATOR=y +CONFIG_CMD_AVB=y CONFIG_OF_CONTROL=y CONFIG_ENV_IS_IN_MMC=y CONFIG_SYS_RELOC_GD_ENV_ADDR=y @@ -84,4 +88,5 @@ CONFIG_VIDEO_BMP_RLE8=y CONFIG_BMP_16BPP=y CONFIG_BMP_24BPP=y CONFIG_BMP_32BPP=y +CONFIG_LIBAVB=y CONFIG_OF_LIBFDT_OVERLAY=y diff --git a/include/configs/sei510.h b/include/configs/sei510.h index 5bf2668803..ea91a06157 100644 --- a/include/configs/sei510.h +++ b/include/configs/sei510.h @@ -14,12 +14,15 @@ #define PARTS_DEFAULT \ "uuid_disk=${uuid_gpt_disk};" \ - "name=boot,size=64M,bootable,uuid=${uuid_gpt_boot};" \ "name=logo,size=2M,uuid=" LOGO_UUID \ + "name=misc,size=128K,uuid=${uuid_gpt_misc};" \ + "name=dtbo,size=8M,uuid=${uuid_gpt_dtbo};" \ + "name=vbmeta,size=64K,uuid=${uuid_gpt_vbmeta};" \ + "name=boot,size=32M,bootable,uuid=${uuid_gpt_boot};" \ + "name=recovery,size=32M,uuid=${uuid_gpt_recovery};" \ "name=cache,size=256M,uuid=${uuid_gpt_cache};" \ - "name=system,size=1536M,uuid=${uuid_gpt_system};" \ - "name=vendor,size=256M,uuid=${uuid_gpt_vendor};" \ - "name=userdata,size=5341M,uuid={uuid_gpt_userdata};" \ + "name=super,size=2304M,uuid=${uuid_gpt_super};" \ + "name=userdata,size=4820M,uuid=${uuid_gpt_userdata};" \ "name=rootfs,size=-,uuid=" ROOT_UUID diff --git a/include/configs/sei610.h b/include/configs/sei610.h index baace75a02..783eece271 100644 --- a/include/configs/sei610.h +++ b/include/configs/sei610.h @@ -14,12 +14,15 @@ #define PARTS_DEFAULT \ "uuid_disk=${uuid_gpt_disk};" \ - "name=boot,size=64M,bootable,uuid=${uuid_gpt_boot};" \ - "name=logo,size=2M,uuid=" LOGO_UUID \ + "name=logo,start=512K,size=2M,uuid=" LOGO_UUID \ + "name=misc,size=512K,uuid=${uuid_gpt_misc};" \ + "name=dtbo,size=8M,uuid=${uuid_gpt_dtbo};" \ + "name=vbmeta,size=512K,uuid=${uuid_gpt_vbmeta};" \ + "name=boot,size=32M,bootable,uuid=${uuid_gpt_boot};" \ + "name=recovery,size=32M,uuid=${uuid_gpt_recovery};" \ "name=cache,size=256M,uuid=${uuid_gpt_cache};" \ - "name=system,size=1536M,uuid=${uuid_gpt_system};" \ - "name=vendor,size=256M,uuid=${uuid_gpt_vendor};" \ - "name=userdata,size=12795M,uuid=${uuid_gpt_userdata};" \ + "name=super,size=2304M,uuid=${uuid_gpt_super};" \ + "name=userdata,size=12274M,uuid=${uuid_gpt_userdata};" \ "name=rootfs,size=-,uuid=" ROOT_UUID #include -- 2.39.5