ro.boot.义齿
4376 ワード
もんだいげんしょう
adb shell getprop ro.boot.verifiedbootstate戻り値orange
期待戻り値green
テストとコミュニケーションした後、得られたフィードバックはテスト用例に要求される検査項目である.
もんだいぶんせき
1,この属性については不明であるため、コード内でキーワードを検索して機能ブロックを確認し、キーワード「ro.boot.verifiedbootstate」を検索した結果は2つしかなく、(1)export_oem_lock_statusで呼び出され、説明され、oem lockと関係がある.(2)検索した2つの結果はいずれもGetPropertyの呼び出しであり,greenが所望の値に合致するように値を付与するのはどこであるか.
2、検索キーワード「verifiedbootstate」を簡略化し、検索結果がいくつか増え、7つあり、verified-boot、特にverified-bootに関連することがわかる.jdの情報では,戻り値の具体的な意味を紹介している.
Kernel command line parameter
Description
androidboot.verifiedbootstate=green
Device has booted into GREEN boot state. Boot partition has been verified using the OEM key and it’s valid.
androidboot.verifiedbootstate=yellow
Device has booted into YELLOW boot state. Boot partition has been verified using the certificate embedded into the signature and it’s valid.
androidboot.verifiedbootstate=orange
Device has booted into ORANGE boot state. The device is unlocked and no verification has been performed.
Note: The device cannot boot into kernel when in the RED boot state, and therefore the kernel command line never includes the parameter
androidboot.verifiedbootstate=red
. そこで,oem lockと関係がある可能性があることを知り,推測を検証した.
3、同じ型番の試験機を探して同じソフトウェアをダウンロードしてダウンロードした後にソフトウェアを再現することを試みて、私の試験機の得た結果は以下の通りです
adb shell getprop ro.boot.verifiedbootstate
green
adb shell getprop ro.boot.flash.locked
1
adb shell getprop ro.boot.veritymode
enforcing
さらに
adb reboot bootloader
を実行してfastbootモードに入り、sudo fastboot oem device-info
を実行してdevice情報をチェックすると、以下の結果が得られる.(bootloader) Device tampered: false
(bootloader) Device unlocked: false
(bootloader) Device critical unlocked: false
(bootloader) Charger screen enabled: false
(bootloader) Display panel:
OKAY [ 0.007s]
finished. total time: 0.007s
現在の私のテスト機が要求に合っていることを証明して、verified bootは開いて、lockの状態は正しいです
4、unlockを検証する場合はまずpower on試験機、開発者オプションでメニューを開いてoem unlockを実行可能にした後に
adb reboot bootloader
を実行fastbootモードに入ってからsudo fastboot oem unlock
を実行してロック解除を行う備考:プロンプトエラーが実行された場合は、プロンプトに従って
sudo fastboot oem unlock-go
にスワップします.その後、再度上記の方法で各値を検査した結果、
adb shell getprop ro.boot.verifiedbootstate
orange
adb shell getprop ro.boot.flash.locked
0
adb shell getprop ro.boot.veritymode
enforcing
// sudo fastboot oem device-info
(bootloader) Device tampered: false
(bootloader) Device unlocked: true
(bootloader) Device critical unlocked: false
(bootloader) Charger screen enabled: false
(bootloader) Display panel:
OKAY [ 0.007s]
finished. total time: 0.007s
Device unlocked: true
の場合は、試験手にある試験機ro.boot.verifiedbootstate orange
と対応していることがわかる.テスト対象のテスターがimageを単独で更新するためにoem unlock操作を行ったことを証明します.また、このunlock操作はバージョンを更新しても復元できません.
解決策
この携帯をロックし直す
adb reboot bootloader
sudo fastboot oem lock
その他の知識
下のリンクに移動して、Veified Bootとは何かを詳しく説明しましょう:)https://lwn.net/Articles/638627/