啟動流程

我們建議的裝置啟動流程如下:

驗證開機程序
圖 1. 驗證開機程序

A/B 裝置流��

如果裝置使用 A/B,則啟動流程會略有不同。插槽 您必須先使用啟動控制 HAL 將啟動標示為 SUCCESSFUL,再更新 復原保護中繼資料。

如有平台更新失敗 (未標示為 SUCCESSFUL),A/B 堆疊會回到另一個版位 但仍會有舊版 Android不過, 設定復原保護中繼資料後,舊版就無法 以便啟動。

通訊驗證開機程序 狀態給使用者

決定裝置的啟動狀態後,您需要傳達 使用者狀態如果裝置沒有問題,請繼續操作,而不繼續操作 沒有任何顯示內容驗證開機程序的問題分為以下類別:

  • 黃色:已鎖定自訂信任根的已鎖定裝置顯示警告畫面
  • 橘色:已解鎖裝置的警告畫面
  • RED (eio):dm-verity 損毀的警告畫面
  • RED (找不到 os):找不到有效的 OS

已鎖定的裝置 (具備自訂設定) 信任根

YELLOW 畫面範例:

黃色裝置警告畫面

如果裝置處於「鎖定」狀態 (自訂根層級) 且映像檔是以這個自訂信任根簽署。 YELLOW 螢幕會在十秒後關閉,且裝置繼續執行 啟動中。使用者按下電源鍵時,「按下電源鍵即可暫���」 文字變更為「按下電源鍵以繼續」螢幕也同樣不會 已關閉 (但裝置可能會變暗或關閉螢幕,以防止 烙印)。如果再次按下,系統就會關閉螢幕,並繼續手機。 啟動中。

如果是 hex-number,請使用 sha256 形狀的前 8 位數字 libavb 表示法用於驗證的公開金鑰,例如 d14a028c

建議的文字:

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

請使用其他裝置前往這個連結瞭解詳情:

g.co/ABH

ID:hex-number

按下電源鍵即可暫停

已解鎖裝置

ORANGE 畫面範例:

橘色裝置警告畫面

如果裝置處於解鎖狀態,每次啟動都會顯示 ORANGE 畫面。橘色畫面 會在十秒後關閉,且裝置會繼續啟動。如果使用者 按下電源鍵「按下電源鍵即可暫停」文字變更為「按下」 按下電源按鈕即可繼續」螢幕也一律不會關閉 (裝置可能會變暗) 以及/或者視需要關閉螢幕,以防止影像烙印或類似事件。如果 再次按下後,系統會關閉螢幕,手機也會繼續啟動。

針對 hex-number,請使用 libavb sha256 的前 8 位數字 金鑰表示法,例如用於驗證的公開金鑰 d14a028c

建議的文字:

本裝置的系統啟動載入程式已解鎖,因此我們目前無法保證軟體完整性。不限 攻擊者可能會存取儲存在裝置上的資料。不儲存任何 裝置上的機密資料

請使用其他裝置前往這個連結瞭解詳情:

g.co/ABH

ID:hex-number

按下電源鍵即可暫停。

dm-verity 損毀

紅色 eio 畫面範例:

紅色 eio 裝置警告畫面

如果找到有效的 Android 版本,顯示紅色的 eio 畫面 裝置目前處於 eio dm-verity 模式。使用者需要 請按一下電源按鈕繼續。如果使用者尚未確認 警告畫面,裝置會在 30 秒內關機 (為保護螢幕安全) 即可自動調節電池用量並節省電力)。

建議的文字:

裝置已損壞。因為無法信任,且可能無法正常運作。

請使用其他裝置前往這個連結瞭解詳情:

g.co/ABH

按下電源鍵即可繼續操作。

找不到有效的 OS

紅色畫面範例:

紅色損壞的裝置警告畫面

找不到有效的 Android 版本時,顯示紅色畫面。 裝置無法繼續啟動。如果使用者尚未確認警示 螢幕會在 30 秒內關機,藉此防止螢幕 開機並節省電力)。

如果是 hex-number,請使用 sha256 形狀的前 8 位數字 libavb 表示法用於驗證的公開金鑰,例如 d14a028c

建議的文字:

找不到有效的作業系統。裝置無法啟動。

請使用其他裝置前往這個連結瞭解詳情:

g.co/ABH

ID:hex-number

按下電源鍵即可關機。

確認解鎖

畫面範例:

解除鎖定裝置警告畫面

回應 fastboot flashing unlock 指令正透過 Fastboot 執行 存取 API焦點一開始會位在「不要解鎖」。如果使用者尚未 與警告畫面互動,此時畫面就會消失 導致該指令失敗

建議的文字:

如果解鎖系統啟動載入程式,就能安裝自訂作業系統 測試手機的系統軟體自訂 OS 不必和 測試原始作業系統,並可能在手機上安裝應用程式 才能完全停止運作使用自訂值時無法保證軟體完整性 作業系統,確保系統啟動載入程式處於解鎖狀態時,儲存在手機中的任何資料可能位於 風險。

為避免他人未經授權存取你的個人資料,請解鎖系統啟動載入程式 也會刪除手機上的所有個人資料。

按下調高/調低音量按鈕,選擇是否解鎖系統啟動載入程式,然後 按下電源按鈕繼續。

解鎖

解鎖系統啟動載入程式。

不要解鎖

請勿解鎖系統啟動載入程式並重新啟動手機。

鎖定確認

顯示鎖定確認畫面,以回應透過 Fastboot 介面執行的 fastboot flashing lock 指令。焦點為 [不要鎖定]。如果使用者未曾與 警告畫面就會消失,同時指令也會失敗。

文字:

如果鎖定系統啟動載入程式,就無法安裝自訂作業系統 測試手機的系統軟體防止他人未經授權存取你的個人 資料,如果您鎖定系統啟動載入程式,手機中的所有個人資料也會一併刪除。

按下調高/調低音量按鈕,選擇是否鎖定系統啟動載入程式,然後 按下電源按鈕繼續。

鎖定

鎖定系統啟動載入程式。

不要鎖定

不要鎖定系統啟動載入程式並重新啟動手機。

通訊已驗證 啟動狀態到 Android

畫面範例:

LOCK 確認裝置警告畫面

系統啟動載入程式會透過以下方式,將驗證開機程序狀態傳送至 Android 核心指令參數,或從 Android 12 開始的 bootconfig。 並將 androidboot.verifiedbootstate 選項設為下列其中一個值:

  • green:如果裝置為 LOCKED 且使用者可設定 未使用信任根
  • yellow:如果裝置為 LOCKED 且使用者可設定 系統會使用信任根
  • orange:如果裝置為「UNLOCKED

androidboot.veritymode 選項已設為 eiorestart,視系統啟動載入程式的運作狀態而定 來處理 dm-verity 錯誤。詳情請參閱處理 驗證錯誤