arm: total_compute: move the boot command to an env file

The boot command for Total Compute has many aspects and changes from time
to time. So move it to an .env file where it can be a proper script.

Signed-off-by: Boyan Karatotev <boyan.karatotev@arm.com>
Signed-off-by: Leo Yan <leo.yan@arm.com>
This commit is contained in:
Boyan Karatotev 2024-10-25 18:18:17 +01:00 committed by Tom Rini
parent 4696d63d87
commit 6d111a6dc2
3 changed files with 29 additions and 11 deletions

View File

@ -0,0 +1,28 @@
/* DRAM1 + 0x2000_0000 */
load_addr=0xa0000000
/* DRAM1 + 0x0800_0000 */
initrd_addr_r=0x88000000
bootcmd=
if part number mmc 0 vbmeta is_avb; then
echo 'MMC with vbmeta partition detected.';
echo 'Starting Android Verified boot...';
avb init 0;
if avb verify; then
set bootargs $bootargs $avb_bootargs;
part start mmc 0 boot boot_start;
part size mmc 0 boot boot_size;
mmc read ${load_addr} ${boot_start} ${boot_size};
bootm ${load_addr} ${load_addr} ${fdt_addr_r};
else;
echo 'AVB verification failed.';
exit;
fi;
elif part number mmc 0 system is_non_avb_android; then
echo 'Booting Android non-AVB...';
booti ${kernel_addr_r} ${initrd_addr_r} ${fdt_addr_r};
elif iminfo ${load_addr}; then
echo 'Booting FIT image...';
bootm ${load_addr} ${load_addr} ${fdt_addr_r};
fi;
echo 'ERROR: No valid image to boot the system. Aborting boot sequence.';

View File

@ -18,7 +18,6 @@ CONFIG_FIT_SIGNATURE=y
CONFIG_LEGACY_IMAGE_FORMAT=y
CONFIG_DISTRO_DEFAULTS=y
CONFIG_BOOTDELAY=5
CONFIG_BOOTCOMMAND="if part number mmc 0 vbmeta is_avb; then echo MMC with vbmeta partition detected.; echo starting Android Verified boot.; avb init 0; if avb verify; then set bootargs $bootargs $avb_bootargs; part start mmc 0 boot boot_start; part size mmc 0 boot boot_size; mmc read ${load_addr} ${boot_start} ${boot_size}; bootm ${load_addr} ${load_addr} ${fdt_addr_r}; else; echo AVB verification failed.; exit; fi; elif part number mmc 0 system is_non_avb_android; then booti ${kernel_addr_r} ${initrd_addr_r} ${fdt_addr_r};else; echo Booting FIT image.; bootm ${load_addr} ${load_addr} ${fdt_addr_r}; fi;"
CONFIG_SYS_CBSIZE=512
CONFIG_SYS_PBSIZE=544
# CONFIG_DISPLAY_CPUINFO is not set
@ -60,3 +59,4 @@ CONFIG_SYS_FLASH_CFI=y
CONFIG_SYS_MAX_FLASH_SECT=256
# CONFIG_RANDOM_UUID is not set
CONFIG_LIBAVB=y
CONFIG_ENV_SOURCE_FILE=total_compute

View File

@ -11,16 +11,6 @@
/* Link Definitions */
#define CFG_EXTRA_ENV_SETTINGS \
"load_addr=0xa0000000\0" \
"initrd_addr_r=0x88000000\0"
/*
* If vbmeta partition is present, boot Android with verification using AVB.
* Else if system partition is present (no vbmeta partition), boot Android
* without verification (for development purposes).
* Else boot FIT image.
*/
#define CFG_SYS_FLASH_BASE 0x0C000000
#endif /* __TOTAL_COMPUTE_H */