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

Commit 5b4dd66b 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 36a5a5d6
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