diff --git a/flash_kernel.sh b/flash_kernel.sh index 71e9445..a38a066 100755 --- a/flash_kernel.sh +++ b/flash_kernel.sh @@ -1,14 +1,19 @@ #!/bin/bash set -e -GREEN="\033[0;32m" -NO_COLOR='\033[0m' - DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" >/dev/null && pwd)" cd $DIR -echo "Flashing kernel..." -tools/edl w boot_a output/boot.img -tools/edl w boot_b output/boot.img +echo "Checking active slot..." +ACTIVE_SLOT=$(tools/edl getactiveslot | grep "Current active slot:" | awk '{print $NF}') -echo -e "${GREEN}Flashed boot_a and boot_b!${NO_COLOR}" +if [[ "$ACTIVE_SLOT" != "a" && "$ACTIVE_SLOT" != "b" ]]; then + echo "Invalid active slot: '$ACTIVE_SLOT'" + exit 1 +fi + +echo "Active slot: $ACTIVE_SLOT" +echo "Flashing boot_$ACTIVE_SLOT..." +tools/edl w boot_$ACTIVE_SLOT $DIR/output/boot.img + +echo "Flashed boot_$ACTIVE_SLOT!" diff --git a/flash_system.sh b/flash_system.sh index 9b506ee..d0e4d6d 100755 --- a/flash_system.sh +++ b/flash_system.sh @@ -4,12 +4,18 @@ set -e DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" >/dev/null && pwd)" cd $DIR -echo "Flashing system..." -tools/edl w system_a $DIR/output/system-skip-chunks.img +echo "Checking active slot..." +ACTIVE_SLOT=$(tools/edl getactiveslot | grep "Current active slot:" | awk '{print $NF}') -tools/edl setactiveslot a -tools/edl setbootablestoragedrive 1 +if [[ "$ACTIVE_SLOT" != "a" && "$ACTIVE_SLOT" != "b" ]]; then + echo "Invalid active slot: '$ACTIVE_SLOT'" + exit 1 +fi + +echo "Active slot: $ACTIVE_SLOT" +echo "Flashing system_$ACTIVE_SLOT..." +tools/edl w system_$ACTIVE_SLOT $DIR/output/system.img tools/edl reset -echo "Done!" +echo "Flashed system_$ACTIVE_SLOT!"