Zalecane czynności podczas uruchamiania urządzenia:

Rysunek 1. Proces weryfikacji podczas uruchamiania.
Schemat dla urządzeń A/B
Jeśli urządzenie korzysta z A/B, proces uruchamiania przebiega nieco inaczej. Przed aktualizacją metadanych ochrony przed wycofaniem należy najpierw oznaczyć slot do uruchamiania jako SUCCESSFUL
za pomocą interfejsu API kontroli uruchamiania.
Jeśli aktualizacja platformy się nie powiedzie (nie będzie oznaczona jako SUCCESSFUL
), stos A/B przejdzie do innego slotu, w którym nadal jest zainstalowana poprzednia wersja Androida. Jeśli jednak wcześniej ustawiono metadane ochrony przed przywracaniem, poprzednia wersja nie może się uruchomić z powodu ochrony przed przywracaniem.
Informowanie użytkowników o stanie weryfikacji podczas uruchamiania
Po określeniu stanu rozruchu urządzenia musisz poinformować o nim użytkownika. Jeśli urządzenie nie ma żadnych problemów, przejdź dalej bez wyświetlania niczego. Problemy z weryfikacją podczas uruchamiania można podzielić na te kategorie:
- ŻÓŁTY: ekran ostrzegawczy dla ZABLOKOWANYCH urządzeń z niestandardowym zaufanym certyfikatem głównym
- POMARAŃCZOWY: ekran ostrzegawczy dla urządzeń ODBLOKOWANYCH
- RED (eio): ekran z ostrzeżeniem o uszkodzeniu dm-verity
- CZERWONY (nie znaleziono systemu operacyjnego): nie znaleziono prawidłowego systemu operacyjnego.
Urządzenia ZABLOKOWANE z niestandardowym źródłem zaufania
Przykład ekranu YELLOW:

wyświetlać żółty ekran przy każdym uruchomieniu, jeśli urządzenie jest ZABLOKOWANE, został ustawiony niestandardowy wierzchołek zaufania, a obraz został podpisany tym niestandardowym wierzchołkiem zaufania; Po 10 sekundach ekran żółty zniknie, a urządzenie będzie kontynuować uruchamianie. Jeśli użytkownik naciśnie przycisk zasilania, tekst „Naciśnij przycisk zasilania, aby wstrzymać” zmieni się na „Naciśnij przycisk zasilania, aby kontynuować”, a ekran nigdy nie zostanie zamknięty (chociaż urządzenie może przyciemnić lub wyłączyć ekran, aby chronić go przed wypaleniem). Jeśli naciśniesz go ponownie, ekran zostanie zamknięty, a telefon będzie kontynuował uruchamianie.
W przypadku hex-number użyj pierwszych 8 cyfr wartości sha256 reprezentującej klucz publiczny w formie libavb używany do weryfikacji, na przykład d14a028c
.
Sugerowany tekst:
Na urządzeniu wczytano inny system operacyjny.
Aby dowiedzieć się więcej, kliknij ten link na innym urządzeniu:
g.co/ABH
Identyfikator: hex-number
Aby wstrzymać, naciśnij przycisk zasilania.
ODBLOKOWANE urządzenia
Przykład ekranu ORANGE:

wyświetlać pomarańczowy ekran przy każdym uruchomieniu, jeśli urządzenie jest odblokowane; Po 10 sekundach ekran ORANGE zniknie, a urządzenie będzie się dalej uruchamiać. Jeśli użytkownik naciśnie przycisk zasilania, tekst „Naciśnij przycisk zasilania, aby wstrzymać” zmieni się na „Naciśnij przycisk zasilania, aby kontynuować”, a ekran nigdy nie zostanie zamknięty (w razie potrzeby urządzenie może przyciemnić lub wyłączyć ekran, aby chronić przed wypaleniem lub podobnymi problemami). Jeśli naciśniesz go ponownie, ekran się zamknie, a telefon będzie kontynuować uruchamianie.
W przypadku hex-number użyj pierwszych 8 cyfr sha256 reprezentacji klucza publicznego libavb użytego do weryfikacji, na przykład d14a028c
.
Sugerowany tekst:
Program rozruchowy jest odblokowany i nie można zagwarantować integralności oprogramowania. Wszelkie dane przechowywane na urządzeniu mogą być dostępne dla osób przeprowadzających atak. Nie przechowuj na urządzeniu żadnych danych poufnych.
Aby dowiedzieć się więcej, kliknij ten link na innym urządzeniu:
g.co/ABH
Identyfikator: hex-number
Aby wstrzymać, naciśnij przycisk zasilania.
uszkodzenie dm-verity
Przykład ekranu eio w RED:

Wyświetlić ekran CZERWONY eio
, jeśli znaleziono prawidłową wersję Androida, a urządzenie jest obecnie w trybie dm-verity eio
. Aby kontynuować, użytkownik musi kliknąć przycisk zasilania. Jeśli użytkownik nie potwierdzi wyświetlenia ekranu ostrzeżenia w ciągu 30 sekund, urządzenie się wyłączy (aby chronić ekran przed wypaleniem pikseli i oszczędzać energię).
Sugerowany tekst:
Urządzenie jest uszkodzone. Nie można mu ufać i może on nie działać prawidłowo.
Aby dowiedzieć się więcej, kliknij ten link na innym urządzeniu:
g.co/ABH
Aby kontynuować, naciśnij przycisk zasilania.
Nie znaleziono prawidłowego systemu operacyjnego
Przykład ekranu RED:

Jeśli nie można znaleźć prawidłowej wersji Androida, wyświetla się ekran w kolorze CZERWONY. Urządzenie nie może kontynuować uruchamiania. Jeśli użytkownik nie potwierdzi ostrzeżenia w ciągu 30 sekund, urządzenie wyłączy się, aby chronić ekran przed wypaleniem i oszczędzać energię.
W przypadku hex-number użyj pierwszych 8 cyfr wartości sha256 reprezentującej klucz publiczny w formie libavb używany do weryfikacji, na przykład d14a028c
.
Sugerowany tekst:
Nie udało się znaleźć prawidłowego systemu operacyjnego. Urządzenie się nie uruchamia.
Aby dowiedzieć się więcej, kliknij ten link na innym urządzeniu:
g.co/ABH
Identyfikator: hex-number
Naciśnij przycisk zasilania, aby wyłączyć urządzenie.
Potwierdzenie odblokowania
Przykładowy ekran:

Wyświetlić ekran potwierdzenia odblokowania w odpowiedzi na polecenie fastboot flashing unlock
wykonywane za pomocą interfejsu fastboot. Początkowo zaznaczona jest opcja Nie odblokowuj. Jeśli użytkownik nie wejdzie w interakcję z ekranem z ostrzeżeniem w ciągu 30 sekund, ekran zniknie, a polecenie nie zostanie wykonane.
Sugerowany tekst:
Jeśli odblokujesz program rozruchowy, możesz zainstalować na tym telefonie niestandardowe oprogramowanie. Niestandardowy system operacyjny nie jest poddawany takiemu samemu poziomowi testowania co oryginalny system operacyjny. Może to spowodować, że telefon i zainstalowane aplikacje przestaną działać prawidłowo. W przypadku niestandardowego systemu operacyjnego nie można zagwarantować integralności oprogramowania. Dane zapisane na telefonie, gdy program rozruchowy jest odblokowany, mogą być zagrożone.
Aby zapobiec nieautoryzowanemu dostępowi do danych osobowych, odblokowanie bootloadera spowoduje również usunięcie wszystkich danych osobowych z telefonu.
Naciśnij przycisk zwiększania lub zmniejszania głośności, aby wybrać, czy chcesz odblokować bootloader, a następnie naciśnij przycisk zasilania, aby kontynuować.
Odblokuj
Odblokuj program rozruchowy.
Nie odblokowuj
Nie odblokowuj programu rozruchowego i nie restartuj telefonu.
Potwierdzenie blokady
wyświetlić ekran potwierdzenia blokady w odpowiedzi na polecenie fastboot flashing
lock
wykonywane przez interfejs fastboot. Początkowo fokus jest ustawiony na Nie blokuj. Jeśli użytkownik nie wejdzie w interakcję z ekranem ostrzeżenia w ciągu 30 sekund, ekran zniknie, a polecenie nie zostanie wykonane.
Tekst:
Jeśli zablokujesz program rozruchowy, nie będzie można zainstalować na tym telefonie niestandardowego systemu operacyjnego. Aby zapobiec nieautoryzowanemu dostępowi do danych osobowych, zablokowanie programu rozruchowego powoduje również usunięcie wszystkich danych osobowych z telefonu.
Naciśnij przycisk zwiększania/zmniejszania głośności, aby wybrać, czy chcesz zablokować bootloader, a następnie naciśnij przycisk zasilania, aby kontynuować.
Zablokuj
Zablokuj program rozruchowy.
Nie blokuj
Nie blokuj programu rozruchowego i nie restartuj telefonu.
Przekazywanie stanu weryfikacji podczas uruchamiania do Androida
Przykładowy ekran:

Bootloader przekazuje stan weryfikacji podczas uruchamiania do Androida za pomocą parametrów polecenia jądra lub pliku bootconfig od wersji Androida 12.
Ustawia opcję androidboot.verifiedbootstate
na jedną z tych wartości:
green
: jeśli urządzenie jestLOCKED
i użytkownik może ustawić root of trust nie jest używanyyellow
: jeśli urządzenie jestLOCKED
i użytkownik może ustawić źródło zaufania.orange
: jeśli urządzenie toUNLOCKED
Opcja androidboot.veritymode
jest ustawiona na eio
lub restart
w zależności od stanu, w jakim znajduje się bootloader w odniesieniu do obsługi błędów dm-verity. Więcej informacji znajdziesz w artykule Rozwiązywanie problemów z weryfikacją.