diff --git a/flash/factory.common b/flash/factory.common index 49b0e3e187b866bc1386ea773779d6e26d188104..fb740c4331cffb6c688c0e34be16ce95c7ec0bf4 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