Proces uruchamiania

Zalecane procedury uruchamiania urządzenia:

Proces weryfikacji podczas uruchamiania

Rysunek 1. Weryfikacja podczas uruchamiania.

Schemat dla urządzeń A/B

Jeśli urządzenie korzysta z wersji A/B, proces uruchamiania jest nieco inny. Przed zaktualizowaniem 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 czegokolwiek. 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 ostrzegania 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

ZABLOKOWANE urządzenia z niestandardowym poziomem ufności

Przykładowy ekran YELLOW:

Żółty ekran ostrzeżenia urządzenia

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 się zamknie, a telefon będzie kontynuować uruchamianie.

W polu hex-number użyj pierwszych 8 cyfr sha256 reprezentującego klucz publiczny w bibliotece libavb używanego do weryfikacji, np. d14a028c.

Sugerowany tekst:

Urządzenie załadowało 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:

Pomarańczowy ekran z ostrzeżeniem o urządzeniu

wyświetlać pomarańczowy ekran przy każdym uruchomieniu, jeśli urządzenie jest odblokowane; Ekran Pomarańczowy znika po 10 sekundach, a urządzenie nadal się 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ć go przed wypaleniem lub podobnymi problemami). Gdy 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, otwórz ten link na innym urządzeniu:

g.co/ABH

Identyfikator: hex-number

Aby wstrzymać, naciśnij przycisk zasilania.

uszkodzenie dm-verity

Przykładowy czerwony ekran eio:

Ekran ostrzeżenia o urządzeniu eio w kolorze czerwonym

Wyświetlić ekran CZERWONY eio, jeśli znaleziono prawidłową wersję Androida, a urządzenie jest obecnie w trybie weryfikacji dm 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 wyłączy się (aby chronić ekran przed wypaleniem pikseli i oszczędzać energię).

Sugerowany tekst:

Urządzenie jest uszkodzone. Nie można mu ufać i może 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:

Czerwony ekran z ostrzeżeniem o uszkodzonym urządzeniu

Jeśli nie można znaleźć prawidłowej wersji Androida, wyświetlany jest czerwony ekran. 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 sha256 reprezentacji klucza publicznego libavb używanego 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, otwórz ten link na innym urządzeniu:

g.co/ABH

Identyfikator: hex-number

Naciśnij przycisk zasilania, by wyłączyć urządzenie.

Potwierdzenie odblokowania

Ekran przykładowy:

Ekran ostrzeżenia o odblokowaniu urządzenia

Wyświetlaj ekran potwierdzenia odblokowania w odpowiedzi na polecenie fastboot flashing unlock wykonywane w interfejsie fastboot. Początkowo ostrość jest ustawiona na Nie odblokowuj. Jeśli użytkownik nie zareaguje na ekran z ostrzeżeniem w ciągu 30 sekund, ekran znika, a polecenie nie powiedzie się.

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. Niestandardowy system operacyjny nie gwarantuje integralności oprogramowania, więc wszelkie dane przechowywane 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 ostrość jest ustawiona 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 spowoduje również usunięcie wszystkich danych osobowych z telefonu.

Naciśnij przycisk zwiększania/zmniejszania głośności, aby wybrać, czy chcesz zablokować program rozruchowy, a potem 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

Ekran przykładowy:

Ekran z ostrzeżeniem o zablokowaniu urządzenia

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 jest LOCKED i użytkownik może ustawić root of trust nie jest używany
  • yellow: jeśli urządzenie jest LOCKED i użytkownik może ustawić źródło zaufania.
  • orange: jeśli urządzenie to UNLOCKED

Opcja androidboot.veritymode ma wartość eio lub restart w zależności od tego, w jakim stanie jest program rozruchowy w zakresie obsługi błędów dm-verity. Więcej informacji znajdziesz w artykule Rozwiązywanie problemów z weryfikacją.