问题描述
有些测试或透过fastboot 刷机需要事先解锁手机
如 测试VTS 替换google AOSP system img , 关闭avb (dm-verity)
而解锁无法成功的几个可能注意事项检查如下
解决方案
1.需先确认手机是否支持解锁功能与命令, 检查相关option是否开启
MTK_SECURITY_SW_SUPPORT
MTK_SEC_FASTBOOT_UNLOCK_SUPPORT
MTK_SEC_FASTBOOT_UNLOCK_SUPPORT
或检查属性
[ro.oem_unlock_supported]: [1]
2. 检查fastboot tool 是否太旧
或上google 搜寻下载最新 andrdoid platform tools (或 android SDK platform tool)
3.需事先使能unlock 功能
- boot to Android Home Screen
- go to setting -> system -> Developer options -> OEM unlocking
- go to setting -> system -> Developer options -> OEM unlocking
重启进入fastboot 模式后
输入fastboot flashing unlock 或 fastboot oem unlock
注意此时屏幕可能出现如下提示讯息
选择Yes后 显示
Unlock Pass...return to fastboot in 3s
表示解锁成功
如果显示Unlock fail... 请检查屏幕unlock fail 的提示讯息 , 配合
/vendor/mediatek/proprietary/bootable/bootloader/lk/app/mt_boot/sec_unlock.c
void fastboot_oem_unlock 相关代码先自查, 如还有问题再提交e-service
void fastboot_oem_unlock 相关代码先自查, 如还有问题再提交e-service
如果仅显示
return to fastboot in 3s
表示没有按压 Volume up 成功, 或贵司的volume up/down 定义与fastboot 可能相反或有出入
可以将
if (mtk_detect_key(MT65XX_MENU_SELECT_KEY)) { //VOL_UP
和
if (mtk_detect_key(MT65XX_MENU_OK_KEY)) { //VOL_DOWN
if (mtk_detect_key(MT65XX_MENU_SELECT_KEY)) { //VOL_UP
和
if (mtk_detect_key(MT65XX_MENU_OK_KEY)) { //VOL_DOWN
两个互换或强制走//VOL_UP 解锁这一路
4.
解锁成功后检查这两个属性会从
[ro.boot.flash.locked]: [1]
[ro.boot.verifiedbootstate]: [green]
[ro.boot.verifiedbootstate]: [green]
变成
[ro.boot.flash.locked]: [0]
[ro.boot.verifiedbootstate]: [orange]
[ro.boot.verifiedbootstate]: [orange]