Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 91c0bdb0 authored by Jackeagle's avatar Jackeagle
Browse files

flash: Fix critical unlock check hanging the flash script



The critical unlock check used a subshell pipe that caused the script
to hang indefinitely on certain devices (e.g. FP3). Replace it with
variable capture approach aligned with FPOS flashing script, and check
for positive unlock string instead of negative to handle unexpected
output safely.

Signed-off-by: default avatarJackeagle <jackeagle102@gmail.com>
parent cc942ef4
Loading
Loading
Loading
Loading
+4 −3
Original line number Diff line number Diff line
@@ -30,9 +30,10 @@ check_unlock_status() {
      echo "Please follow the instructions to unlock the bootloader!"
      PHONE_IS_READY=false
    fi
    if ("${FASTBOOT_BIN}" oem device-info 2>&1 | grep -q "critical unlocked: false"); then
      echo "Error: Critical partitions are still locked."
      echo "Did you execute 'fastboot flashing unlock_critical'?"
    DEVICE_INFO_OUTPUT=$("${FASTBOOT_BIN}" oem device-info 2>&1)
    if [[ $DEVICE_INFO_OUTPUT != *"Device critical unlocked: true"* ]]; then
      echo "Error: Critical partitions are not unlocked."
      echo "Please execute 'fastboot flashing unlock_critical' first!"
      PHONE_IS_READY=false
    fi
  fi