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/