引導流程

建議的設備啟動流程如下:

驗證啟動流程
圖1 。驗證啟動流程

A/B 設備的流程

如果裝置使用 A/B,則啟動流程略有不同。在更新回滾保護元資料之前,必須先使用引導控制 HAL將要引導的插槽標記為SUCCESSFUL

如果有一個平台更新失敗(未標記為SUCCESSFUL ),A/B 堆疊將回退到另一個插槽,其中仍包含先前版本的 Android。但是,如果已設定回滾保護元數據,則先前的版本將因回滾保護而無法啟動。

向使用者傳達驗證啟動狀態

確定裝置的啟動狀態後,您需要將該狀態傳達給使用者。如果設備沒有任何問題,則繼續操作而不顯示任何內容。已驗證的啟動問題分為以下幾類:

  • 黃色:帶有自訂信任根設定的鎖定裝置的警告螢幕
  • 橘色:未鎖定裝置的警告螢幕
  • RED (eio):dm-verity 損壞的警告螢幕
  • 紅色(未找到作業系統):未找到有效的作業系統

具有自訂信任根的鎖定設備

黃色螢幕範例:

黃色裝置警告螢幕

如果裝置已鎖定、已設定自訂信任根並且已使用此自訂信任根對映像進行簽名,則每次啟動時都會顯示黃色螢幕。十秒後黃色螢幕消失,裝置繼續啟動。如果使用者按下電源按鈕,“按電源按鈕暫停”文字將更改為“按電源按鈕繼續”,並且螢幕永遠不會關閉,儘管裝置可能會變暗或關閉螢幕以防止燒屏。如果再次按下,螢幕將消失並且手機繼續啟動。

對於hex-number ,使用用於驗證的公鑰的 libavb 表示形式的 sha256 的前 8 位數字,例如d14a028c

建議文字:

您的裝置已載入不同的作業系統。

在其他裝置上造訪此連結以了解更多資訊:

g.co/ABH

ID: hex-number

按電源按鈕暫停

解鎖的設備

橙色螢幕範例:

橙色設備警告螢幕

如果裝置已解鎖,則每次啟動時都會顯示橘色螢幕。十秒後橘色螢幕消失,裝置繼續啟動。如果使用者按下電源按鈕,“按電源按鈕暫停”文字將更改為“按電源按鈕繼續”,並且螢幕永遠不會關閉(如果需要,設備可能會變暗和/或關閉螢幕以防止燒毀)或類似)。如果再次按下,螢幕將消失並且手機繼續啟動。

對於hex-number ,使用用於驗證的公鑰的 libavb 表示形式的 sha256 的前 8 位數字,例如d14a028c

建議文字:

引導程式已解鎖,無法保證軟體完整性。攻擊者可能可以獲得設備上儲存的任何資料。不要在設備上儲存任何敏感資料。

在其他裝置上造訪此連結以了解更多資訊:

g.co/ABH

ID: hex-number

按電源按鈕暫停。

dm-verity 腐敗

RED eio 螢幕範例:

紅色 eio 裝置警告螢幕

如果找到有效的 Android 版本且裝置目前處於eio dm-verity 模式,則顯示紅色eio畫面。用戶需要點擊電源按鈕才能繼續。如果使用者在 30 秒內未確認警告螢幕,裝置將關閉(以防止螢幕燒屏並節省電量)。

建議文字:

您的設備已損壞。它不可信並且可能無法正常工作。

在其他裝置上造訪此連結以了解更多資訊:

g.co/ABH

按電源按鈕繼續。

未找到有效的作業系統

紅色螢幕範例:

紅色損壞裝置警告螢幕

如果找不到有效的 Android 版本,則會顯示紅色螢幕。設備無法繼續啟動。如果使用者在 30 秒內未確認警告螢幕,裝置將關閉以防止螢幕燒屏並節省電量)。

對於hex-number ,使用用於驗證的公鑰的 libavb 表示形式的 sha256 的前 8 位數字,例如d14a028c

建議文字:

找不到有效的作業系統。設備將無法啟動。

在其他裝置上造訪此連結以了解更多資訊:

g.co/ABH

ID: hex-number

按電源按鈕關閉電源。

解鎖確認

螢幕範例:

解鎖裝置警告螢幕

顯示解鎖確認畫面,以回應透過 fastboot 介面執行的fastboot flashing unlock指令。焦點最初位於Don't unlock 。如果使用者在 30 秒內未與警告螢幕進行交互,則螢幕會消失且命令失敗。

建議文字:

如果您解鎖引導程序,您將能夠在此手機上安裝自訂作業系統軟體。自訂作業系統不接受與原始作業系統相同級別的測試,並且可能會導致您的手機和安裝的應用程式停止正常運作。自訂作業系統無法保證軟體完整性,因此引導程式解鎖時儲存在手機上的任何資料都可能面臨風險。

為了防止未經授權存取您的個人數據,解鎖引導程式還將刪除您手機上的所有個人資料。

按音量增加/音量降低選擇是否解鎖引導程序,然後按電源按鈕繼續。

開鎖

解鎖引導程式。

不要解鎖

不要解鎖引導程式並重新啟動手機。

鎖定確認

顯示鎖定確認畫面,以回應透過 fastboot 介面執行的fastboot flashing lock指令。焦點最初位於Don't lock 。如果使用者在 30 秒內未與警告螢幕進行交互,則螢幕會消失且命令失敗。

文字:

如果鎖定引導程序,您將無法在此手機上安裝自訂作業系統軟體。為了防止未經授權存取您的個人數據,鎖定引導程式還將刪除手機上的所有個人資料。

按音量增加/音量降低選擇是否鎖定引導程序,然後按電源按鈕繼續。

鎖定引導程式。

不要鎖定

不要鎖定引導程式並重新啟動手機。

將驗證啟動狀態傳達給 Android

螢幕範例:

LOCK確認裝置警告畫面

引導程式透過核心命令參數或從 Android 12 開始透過 bootconfig 將驗證啟動狀態傳達給 Android。它將androidboot.verifiedbootstate選項設為下列值之一:

  • green :如果裝置已LOCKED且未使用使用者可設定的信任根
  • yellow :如果裝置已LOCKED並且使用使用者可設定的信任根
  • orange :如果設備已UNLOCKED

androidboot.veritymode選項設定為eiorestart ,取決於引導程式在處理 dm-verity 錯誤時所處的狀態。有關更多詳細信息,請參閱處理驗證錯誤