Procedura uruchamiania

Zalecany proces uruchamiania urządzenia jest następujący:

Proces 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 uruchomienia urządzenia musisz poinformować 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ń
  • RED (eio): ekran ostrzeżenia o uszkodzeniu pliku dm-verity
  • CZERWONY (nie znaleziono systemu operacyjnego): nie znaleziono prawidłowego systemu operacyjnego

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

Żółty ekran ostrzeżenia na urządzeniu
Rysunek 2. Przykład żółtego ekranu

Wyświetla ŻÓŁTY ekran przy każdym uruchomieniu, jeśli urządzenie jest ZABLOKOWANE, ustawiono niestandardowy główny katalog zaufania, a obraz został podpisany tym niestandardowym głównym katalogiem zaufania. ŻÓŁTY 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 (chociaż 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 wartości sha256 reprezentacji libavb klucza publicznego używanego do weryfikacji, np. d14a028c.

Sugerowany tekst:

Na urządzeniu został wczytany inny system operacyjny.

Aby dowiedzieć się więcej, otwórz ten link na innym urządzeniu:

g.co/ABH

Identyfikator: hex-number

 Naciśnij przycisk zasilania, aby wstrzymać

ODBLOKOWANE urządzenia

Pomarańczowy ekran ostrzeżenia na urządzeniu
Ilustracja 3. Przykład pomarańczowego ekranu

Wyświetlaj POMARAŃCZOWY ekran przy każdym uruchomieniu, jeśli urządzenie jest ODBLOKOWANE. Ekran POMARAŃCZOWY 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 naciśniesz go ponownie, ekran zostanie zamknięty, a telefon będzie kontynuować uruchamianie.

W przypadku hex-number użyj pierwszych 8 cyfr kodu SHA-256 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.

Aby dowiedzieć się więcej, otwórz ten link na innym urządzeniu:

g.co/ABH

Identyfikator: hex-number

 Naciśnij przycisk zasilania, aby wstrzymać.

Uszkodzenie pliku dm-verity

Czerwony ekran ostrzeżenia o urządzeniu eio
Ilustracja 4. Przykład ekranu z czerwonym błędem eio

Wyświetla CZERWONY ekran eio, jeśli wykryto prawidłową wersję Androida, a urządzenie jest obecnie w eio trybie dm-verity. Aby kontynuować, użytkownik musi kliknąć 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 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, otwórz ten link na innym urządzeniu:

g.co/ABH

 Aby kontynuować, naciśnij przycisk zasilania.

Nie znaleziono prawidłowego systemu operacyjnego

Czerwony ekran ostrzeżenia o uszkodzonym urządzeniu
Rysunek 5. Przykład czerwonego ekranu

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 wartości 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ę.

Aby dowiedzieć się więcej, otwórz ten link na innym urządzeniu:

g.co/ABH

Identyfikator: hex-number

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

Potwierdzenie odblokowania

Ekran ostrzeżenia ODblokuj urządzenie
Rysunek 6. Przykład ekranu potwierdzenia odblokowania

Wyświetl ekran potwierdzenia odblokowania w odpowiedzi na wykonanie polecenia fastboot flashing unlock 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:

Jeśli odblokujesz program rozruchowy, możesz zainstalować na tym telefonie niestandardowe oprogramowanie 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 gdy program rozruchowy jest odblokowany, dane zapisane na telefonie 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 przycisk zwiększania lub zmniejszania głośności, aby wybrać, czy chcesz odblokować program rozruchowy, a następnie naciśnij przycisk zasilania, aby kontynuować.

Odblokuj

Odblokuj program rozruchowy.

Nie odblokowuj

Nie odblokowuj programu rozruchowego i ponownie uruchom telefon.

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 ostrzeżenia w ciągu 30 sekund, zniknie on, a polecenie nie zostanie wykonane.

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 powoduje też usunięcie wszystkich danych osobowych z telefonu.

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

Blokada

Zablokuj program rozruchowy.

Nie blokuj

Nie blokuj programu rozruchowego i ponownie uruchom telefon.

Przekazywanie stanu weryfikacji podczas uruchamiania do Androida

Ekran ostrzeżenia urządzenia z potwierdzeniem BLOKADY
Rysunek 7. Ekran ostrzeżenia na urządzeniu z potwierdzeniem blokady

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

  • green: jeśli urządzenie jest LOCKED i nie jest używany konfigurowany przez użytkownika główny element zaufania
  • yellow: jeśli urządzenie jest LOCKED i można je skonfigurować przez użytkownika, używane jest źródło zaufania.
  • orange: jeśli urządzenie to 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 artykule Rozwiązywanie błędów weryfikacji.