我們建議的裝置啟動流程如下:
A/B 裝置流程
如果裝置使用 A/B,則啟動流程會略有不同。更新回溯保護中繼資料之前,必須先使用 Boot Control HAL 將要啟動的插槽標示為 SUCCESSFUL
。
如果平台更新失敗 (未標示為 SUCCESSFUL
),A/B 堆疊會改回其他位置,其中仍包含舊版 Android。不過,如果已設定復原保護中繼資料,先前版本就無法因為復原保護機製而啟動。
向使用者傳達「已驗證開機」狀態
確定裝置的啟動狀態後,您需要將該狀態傳達給使用者。如果裝置沒有任何問題,請繼續操作,但不要顯示任何內容。已驗證啟動問題可分為以下幾種類別:
- 黃色:針對已鎖定且設定自訂信任根的裝置顯示警告畫面
- 橘色:已解鎖裝置的警告畫面
- RED (eio):警告畫面顯示 dm-verity 損毀
- 紅色 (找不到 OS):找不到有效的 OS
具備自訂信任根的已鎖定裝置
如果裝置處於鎖定狀態、已設定自訂信任根目錄,且映像檔已使用此自訂信任根目錄簽署,則每次開機時都會顯示黃色畫面。YELLOW 螢幕會在十秒後關閉,且裝置會繼續啟動。當使用者按下電源鍵時,「按下電源鍵即可暫停」文字會變更為「按下電源鍵以繼續」,且螢幕一律不會關閉 (但裝置可能會為了防範烙印情形而調暗或關閉螢幕)。如果再次按下,螢幕就會關閉,手機會繼續啟動。
針對 hex-number,請使用用於驗證的公開金鑰的 libavb 表示法 SHA-256 的前 8 位數,例如 d14a028c
。
建議的文字:
裝置已載入其他作業系統。
如要瞭解詳情,請在其他裝置上點選這個連結:
g.co/ABH
ID:hex-number
按下電源鍵可暫停
已解鎖的裝置
如果裝置處於解鎖狀態,每次啟動都會顯示 ORANGE 畫面。十秒後,橘色畫面會關閉,裝置會繼續啟動。如果使用者按下電源鍵,「按下電源鍵可暫停」文字會變更為「按下電源鍵可繼續」,且螢幕不會關閉 (裝置可能會調暗和/或關閉螢幕,以防螢幕燒焦或類似情況)。如果再次按下,螢幕就會關閉,手機會繼續啟動。
針對 hex-number,請使用用於驗證的公開金鑰的 libavb 表示法 SHA-256 的前 8 位數,例如 d14a028c
。
建議的文字:
本裝置的系統啟動載入程式已解鎖,因此我們無法保證軟體完整性。任何儲存在裝置中的資料都可能會遭到攻擊。因此請勿將私密資料儲存在裝置上。
如要瞭解詳情,請在其他裝置上點選這個連結:
g.co/ABH
ID:hex-number
按下電源鍵即可暫停。
dm-verity 損毀
如果找到有效的 Android 版本,且裝置目前處於 eio
dm-verity 模式,則會顯示 RED eio
畫面。使用者必須按一下電源鍵才能繼續。如果使用者未在 30 秒內確認警告畫面,系統就會關閉裝置 (以防螢幕烙印),並節省電力。
建議的文字:
裝置已損壞。無法信任,且可能無法正常運作。
如要瞭解詳情,請在其他裝置上點選這個連結:
g.co/ABH
按下電源鍵即可繼續。
找不到有效的 OS
找不到有效的 Android 版本時,顯示紅色畫面。裝置無法繼續啟動。如果使用者未在 30 秒內確認警告畫面,裝置就會關閉,以免螢幕出現燒屏現象並節省電力。
針對 hex-number,請使用用於驗證的公開金鑰的 libavb 表示法 SHA-256 的前 8 位數,例如 d14a028c
。
建議的文字:
找不到有效的作業系統,裝置無法啟動。
如要瞭解詳情,請在其他裝置上點選這個連結:
g.co/ABH
ID:hex-number
按下電源按鈕關機。
解鎖確認
針對透過 fastboot 介面執行的 fastboot flashing unlock
指令,顯示解鎖確認畫面。焦點一開始會放在「不要解鎖」。如果使用者未在 30 秒內與警告畫面互動,螢幕就會消失,指令也會失敗。
建議的文字:
如果你解鎖了系統啟動載入程式,就可以在手機上安裝自訂作業系統軟體。自訂作業系統並未經過與原始作業系統相同程度的測試,因此可能會導致手機和已安裝的應用程式停止正常運作。使用自訂 OS 無法保證軟體完整性,因此系統啟動載入程式解鎖時,手機上的資料可能會有風險。
為避免未經授權存取個人資料,解鎖系統啟動載入程式也會刪除手機上的所有個人資料。
按下調高/調低音量鍵,選取是否要解鎖 Bootloader,然後按下電源鍵繼續。
解鎖
解鎖系統啟動載入程式。
不解鎖
請勿解鎖系統啟動載入程式,並重新啟動手機。
鎖定確認
針對透過 fastboot 介面執行的 fastboot flashing
lock
指令,顯示鎖定確認畫面。焦距一開始會設為「不鎖定」。如果使用者在 30 秒內未與警告畫面互動,畫面就會消失,指令也會失敗。
文字:
如果鎖定系統啟動載入程式,就無法在這支手機上安裝自訂作業系統軟體。為避免個人資料遭到未經授權的存取,如果您鎖定系統啟動載入程式,系統也會一併刪除手機上的所有個人資料。
按下調高/調低音量鍵,即可選取是否要鎖定 Bootloader,然後按下電源鍵繼續。
鎖定
鎖定系統啟動載入程式。
不鎖定
不要鎖定系統啟動載入程式,並重新啟動手機。
向 Android 傳達驗證開機程序狀態
啟動載入程式會透過核心指令參數,或從 Android 12 開始透過 bootconfig,將驗證啟動狀態傳送至 Android。將 androidboot.verifiedbootstate
選項設為下列其中一個值:
green
:如果裝置為LOCKED
,且未使用使用者可設定的信任根yellow
:如果裝置是LOCKED
,且使用可由使用者設定的信任根orange
:如果裝置為「UNLOCKED
」
androidboot.veritymode
選項會設為 eio
或 restart
,具體取決於系統啟動載入程式處理 dm-verity 錯誤的狀態。詳情請參閱「處理驗證錯誤」。