Procedura uruchamiania

Zalecany proces uruchamiania urządzenia jest opisany na tej stronie i zilustrowany na rysunku 1:

Przebieg weryfikacji podczas uruchamiania

Rysunek 1. Proces weryfikacji podczas uruchamiania.

Proces w przypadku urządzeń A/B

Jeśli urządzenie korzysta z A/B, proces uruchamiania jest nieco inny. Gniazdo, z którego ma nastąpić rozruch, musi najpierw zostać oznaczone jako SUCCESSFUL za pomocą Boot Control HAL przed zaktualizowaniem metadanych ochrony przed wycofaniem.

Jeśli aktualizacja platformy się nie powiedzie (nie zostanie oznaczona jakoSUCCESSFUL), stos A/B powróci do drugiego gniazda, w którym nadal będzie znajdować się poprzednia wersja Androida. Jeśli jednak metadane ochrony przed przywracaniem zostały ustawione, 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 poinformuj o nim użytkownika. Jeśli urządzenie nie ma żadnych problemów, kontynuuj bez wyświetlania niczego. Problemy z weryfikacją podczas uruchamiania dzielą się na te kategorie:

  • ŻÓŁTY: ekran ostrzeżenia dla ZABLOKOWANYCH urządzeń z ustawionym niestandardowym głównym źródłem zaufania
  • POMARAŃCZOWY: ekran ostrzeżenia dla ODblokowanych urządzeń
  • CZERWONY (eio): ekran ostrzegawczy w przypadku uszkodzenia dm-verity
  • CZERWONY (nie znaleziono systemu operacyjnego): nie znaleziono prawidłowego systemu operacyjnego

ZABLOKOWANE urządzenia z niestandardowym źródłem zaufania

Wyświetlaj ŻÓŁTY ekran przy każdym uruchomieniu, jeśli urządzenie jest ZABLOKOWANE, ustawiono niestandardowy główny certyfikat zaufania, a obraz został podpisany tym niestandardowym głównym certyfikatem zaufania. ŻÓŁTY ekran znika po 10 sekundach, a urządzenie kontynuuje 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 (urządzenie może przyciemnić lub wyłączyć ekran, aby zapobiec wypaleniu). 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 SHA256 reprezentacji libavb klucza publicznego używanego do weryfikacji, np. d14a028c.

Sugerowany tekst:

Urządzenie wczytuje inny system operacyjny.

Otwórz ten link na innym urządzeniu:

g.co/ABH

Odcisk cyfrowy systemu operacyjnego: hex-number

 Naciśnij przycisk zasilania, aby wstrzymać

Przykład ekranu ŻÓŁTEGO
Rysunek 2. Przykład ekranu ŻÓŁTEGO

ODBLOKOWANE urządzenia

Wyświetlaj POMARAŃCZOWY ekran przy każdym uruchomieniu, jeśli urządzenie jest ODBLOKOWANE. POMARAŃCZOWY ekran zniknie po 10 sekundach, 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 (urządzenie może przyciemnić lub wyłączyć ekran, jeśli jest to konieczne, aby zapobiec wypaleniu lub podobnym problemom). Jeśli ponownie naciśniesz przycisk, ekran zostanie zamknięty, a telefon będzie kontynuować uruchamianie.

W przypadku hex-number użyj pierwszych 8 cyfr SHA256 reprezentacji libavb klucza publicznego używanego do weryfikacji, np. 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 poufnych danych.

Otwórz ten link na innym urządzeniu:

g.co/ABH

Identyfikator: hex-number

 Naciśnij przycisk zasilania, aby wstrzymać.

Przykład ekranu ORANGE
Rysunek 3. Przykład ekranu ORANGE

Uszkodzenie pliku dm-verity

Wyświetl czerwony ekran eio, jeśli wykryto prawidłową wersję Androida, a urządzenie jest w trybie eio dm-verity. Aby kontynuować, użytkownik musi nacisnąć przycisk zasilania. Jeśli użytkownik nie potwierdzi 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.

Otwórz ten link na innym urządzeniu:

g.co/ABH

 Aby kontynuować, naciśnij przycisk zasilania.

Przykład ekranu RED eio
Rysunek 4. Przykład ekranu RED eio

Nie znaleziono prawidłowego systemu operacyjnego

Wyświetl CZERWONY ekran, jeśli nie znaleziono prawidłowej wersji Androida. 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 libavb klucza publicznego używanego do weryfikacji, np. d14a028c.

Sugerowany tekst:

Nie udało się znaleźć prawidłowego systemu operacyjnego. Urządzenie nie uruchomi się.

Otwórz ten link na innym urządzeniu:

g.co/ABH

Identyfikator: hex-number

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

Przykład ekranu RED
Rysunek 5. Przykład ekranu RED

Potwierdzenie odblokowania

Wyświetl ekran potwierdzenia odblokowania w odpowiedzi na polecenie fastboot flashing unlock wykonane za pomocą interfejsu fastboot. Początkowo zaznaczona jest opcja Nie odblokowuj. Jeśli użytkownik nie wejdzie w interakcję z ekranem ostrzeżenia w ciągu 30 sekund, zniknie on, a polecenie nie zostanie wykonane.

Sugerowany tekst:

Odblokowanie programu rozruchowego umożliwi Ci zainstalowanie na tym telefonie niestandardowego oprogramowania systemu operacyjnego. Niestandardowy system operacyjny nie jest poddawany takiemu samemu poziomowi testów jak oryginalny system operacyjny i może spowodować, że telefon i zainstalowane aplikacje przestaną działać prawidłowo.

W przypadku niestandardowego systemu operacyjnego nie można zagwarantować integralności oprogramowania, więc dane zapisane na telefonie, gdy program rozruchowy jest odblokowany, mogą być zagrożone.

Aby zapobiec nieautoryzowanemu dostępowi do Twoich danych osobowych, odblokowanie programu rozruchowego spowoduje też usunięcie wszystkich danych osobowych z telefonu.

Naciśnij przyciski głośności, aby wybrać, czy chcesz odblokować bootloader, a następnie naciśnij przycisk zasilania, aby kontynuować.

Nie odblokowuj programu rozruchowego i ponownie uruchom telefon.

Odblokuj program rozruchowy.

Przykład ekranu potwierdzenia odblokowania
Rysunek 6. Przykład ekranu potwierdzenia odblokowania

Potwierdzenie blokady

Wyświetl ekran potwierdzenia blokady w odpowiedzi na polecenie fastboot flashing lock wykonane za pomocą interfejsu fastboot. Początkowo fokus jest ustawiony na opcję Nie blokuj. Jeśli użytkownik nie wejdzie w interakcję z ekranem ostrzegawczym w ciągu 30 sekund, zniknie on, a polecenie nie zadziała.

Tekst:

Jeśli zablokujesz program rozruchowy, nie będziesz mieć możliwości zainstalowania na tym telefonie niestandardowego oprogramowania systemu operacyjnego.

Aby zapobiec nieautoryzowanemu dostępowi do Twoich danych osobowych, zablokowanie programu rozruchowego spowoduje też usunięcie wszystkich danych osobowych z telefonu.

Naciśnij przyciski głośności, aby wybrać, czy chcesz zablokować program rozruchowy, a następnie naciśnij przycisk zasilania, aby kontynuować.

Nie blokuj programu rozruchowego i ponownie uruchom telefon.

Zablokuj program rozruchowy.

Ekran ostrzeżenia urządzenia z potwierdzeniem blokady
Rysunek 7. Ekran ostrzeżenia urządzenia potwierdzającego blokadę.

Przekazywanie stanu weryfikacji podczas uruchamiania do Androida

Program rozruchowy przekazuje stan weryfikacji podczas uruchamiania do Androida za pomocą parametrów poleceń jądra lub konfiguracji uruchamiania w Androidzie 12 i nowszym. Program rozruchowy ustawia opcję androidboot.verifiedbootstate na jedną z tych wartości:

  • green, jeśli urządzenie jest LOCKED, a nie jest używany ustawiany przez użytkownika główny element zaufania.
  • yellow, jeśli urządzenie jest LOCKED i używany jest ustawiany przez użytkownika główny punkt zaufania
  • orange jeśli urządzenie jest UNLOCKED.

Opcja androidboot.veritymode jest ustawiona na eio lub restart w zależności od tego, w jakim stanie jest program rozruchowy w odniesieniu do obsługi błędów dm-verity. Więcej informacji znajdziesz w sekcji Obsługa błędów weryfikacji.