From bdc68df4ddc1330b7d34a520e94d58608d057019 Mon Sep 17 00:00:00 2001 From: Neil Armstrong Date: Wed, 17 Nov 2021 12:04:10 +0100 Subject: configs: meson64_android: bypass other checks on run_fastboot=1 This can lead to GPT and BCB errors even if fastboot was selected early by usb rom boot and the eMMC is blank/invalid. Signed-off-by: Neil Armstrong Signed-off-by: Mattijs Korpershoek --- include/configs/meson64_android.h | 35 +++++++++++++++++++---------------- 1 file changed, 19 insertions(+), 16 deletions(-) (limited to 'include') diff --git a/include/configs/meson64_android.h b/include/configs/meson64_android.h index fb3ccc329a7..93d8f8ec99d 100644 --- a/include/configs/meson64_android.h +++ b/include/configs/meson64_android.h @@ -140,24 +140,27 @@ "echo Fastboot forced by usb rom boot;" \ "setenv run_fastboot 1;" \ "fi;" \ - "if gpt verify mmc ${mmcdev} ${partitions}; then; " \ - "else " \ - "echo Broken MMC partition scheme;" \ - "setenv run_fastboot 1;" \ - "fi;" \ - "if bcb load " __stringify(CONFIG_FASTBOOT_FLASH_MMC_DEV) " " \ - CONTROL_PARTITION "; then " \ - "if bcb test command = bootonce-bootloader; then " \ - "echo BCB: Bootloader boot...; " \ - "bcb clear command; bcb store; " \ + "if test \"${run_fastboot}\" -eq 0; then " \ + "if gpt verify mmc ${mmcdev} ${partitions}; then; " \ + "else " \ + "echo Broken MMC partition scheme;" \ "setenv run_fastboot 1;" \ "fi; " \ - "if bcb test command = boot-fastboot; then " \ - "echo BCB: fastboot userspace boot...; " \ - "setenv force_recovery 1;" \ - "fi; " \ - "else " \ - "echo Warning: BCB is corrupted or does not exist; " \ + "fi;" \ + "if test \"${run_fastboot}\" -eq 0; then " \ + "if bcb load " __stringify(CONFIG_FASTBOOT_FLASH_MMC_DEV) " " \ + CONTROL_PARTITION "; then " \ + "if bcb test command = bootonce-bootloader; then " \ + "echo BCB: Bootloader boot...; " \ + "bcb clear command; bcb store; " \ + "setenv run_fastboot 1;" \ + "elif bcb test command = boot-fastboot; then " \ + "echo BCB: fastboot userspace boot...; " \ + "setenv force_recovery 1;" \ + "fi; " \ + "else " \ + "echo Warning: BCB is corrupted or does not exist; " \ + "fi;" \ "fi;" \ "if test \"${run_fastboot}\" -eq 1; then " \ "echo Running Fastboot...;" \ -- cgit v1.3.1 From 28f70cfcfd82ac509c8da772b74e5dc2df795fd2 Mon Sep 17 00:00:00 2001 From: Neil Armstrong Date: Wed, 17 Nov 2021 12:04:11 +0100 Subject: configs: meson64_android: add PANIC stage for SYSTEM fails If bootloader was updated without running oem format, reboot will cause boot loop because the SYSTEM stage fails. Add a final PANIC stage running fastboot to permit recovery. Signed-off-by: Neil Armstrong Signed-off-by: Mattijs Korpershoek --- include/configs/meson64_android.h | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) (limited to 'include') diff --git a/include/configs/meson64_android.h b/include/configs/meson64_android.h index 93d8f8ec99d..7cd1ab03411 100644 --- a/include/configs/meson64_android.h +++ b/include/configs/meson64_android.h @@ -233,16 +233,24 @@ "echo Running Android...;" \ BOOT_CMD \ "fi;" \ - "echo Failed to boot Android...;" \ - "reset\0" + "echo Failed to boot Android...;\0" #define BOOTENV_DEV_NAME_SYSTEM(devtypeu, devtypel, instance) \ "system " +#define BOOTENV_DEV_PANIC(devtypeu, devtypel, instance) \ + "bootcmd_panic=" \ + "fastboot " __stringify(CONFIG_FASTBOOT_USB_DEV) "; " \ + "reset\0" + +#define BOOTENV_DEV_NAME_PANIC(devtypeu, devtypel, instance) \ + "panic " + #define BOOT_TARGET_DEVICES(func) \ func(FASTBOOT, fastboot, na) \ func(RECOVERY, recovery, na) \ func(SYSTEM, system, na) \ + func(PANIC, panic, na) \ #define PREBOOT_LOAD_LOGO \ "if test \"${boot_source}\" != \"usb\" && " \ -- cgit v1.3.1