diff --git a/flash/factory.common b/flash/factory.common index 7067a33d6bb53ba43c31c3cc9a33b1d31c261665..34225687a8ea2d2570fc0fd972daf44c3e70e7f3 100755 --- a/flash/factory.common +++ b/flash/factory.common @@ -30,8 +30,10 @@ check_unlock_status() { echo "Please follow the instructions to unlock the bootloader!" PHONE_IS_READY=false fi - DEVICE_INFO_OUTPUT=$("${FASTBOOT_BIN}" oem device-info 2>&1) - if [[ $DEVICE_INFO_OUTPUT != *"Device critical unlocked: true"* ]]; then + DEVICE_INFO_OUTPUT=$("${FASTBOOT_BIN}" oem device-info 2>&1 || true) + if [[ $DEVICE_INFO_OUTPUT == *"unknown command"* ]] || [[ $DEVICE_INFO_OUTPUT == *"FAILED"* ]]; then + echo "Info: Device does not support 'oem device-info', skipping critical unlock check." + elif [[ $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