Obsługa nakładek drzewa urządzeń

Rozszerzenie Nakładka drzewa urządzenia istniejące spłaszczone drzewo urządzeń (FDT) przez włączenie w przestrzeni użytkownika, aby modyfikować początkowe dane drzewa urządzeń w jądrze w czasie działania przez wczytuję dodatkowe nakładki FDT, które zmieniają oryginalne dane. Android wymagają aktualizacji obiektów blob DT w czasie działania z przestrzeni użytkownika, ale zamiast tego zaleca się dostawcy dodają w programie rozruchowym łatkę urządzeń libfdt lub libufdt.

Obsługa nakładek drzewa urządzeń na Androidzie

Obsługa nakładek drzewa urządzeń na Androidzie różni się w zależności od wersji Androida:

  • Android 7.x i starsze nie wymagają obsługi drzewa urządzeń udostępniają rekomendacje dotyczące sposobu, w jaki dostawcy przekazują bloby DT do jądra, przechowywane w praktyce.
  • Android 8.x zaleca obsługę drzewa urządzeń, Tylko części jądra systemu SoC są oddzielne.
  • Android 9 i nowsze wymagają obiektu blob drzewa urządzenia partycję nakładki (DTBO) i co najmniej jedną organizację DTO do zastosowania.

Wymagania dotyczące partycjonowania DTO

Większość urządzeń z Androidem dołącza obiekt blob DT do jądra w czasie kompilacji, a tag program rozruchowy wczytuje obiekt blob z jądra. Ponieważ jednak obiekty blob DT są wchodzą w skład jądra systemu SOC, wymagania dotyczące tworzenia lub przechowywania obiektów blob DT. Urządzenia mogą dołączać przenoszenie danych utworzyć blob w jądrze lub zapisać obiekt blob w oddzielnej partycji; jedyne wymaganiem jest, aby program rozruchowy wie, jak i gdzie wczytać obiekt blob DT. .

Aby można było obsługiwać organizacje zajmujące się handlem narkotykami, urządzenia powinny mieć:

  • jedną partycję DTBO na obraz jądra dla konkretnej nakładki DT; program rozruchowy musi wiedzieć, gdzie i jak wczytać kartę DTB specyficzną dla układu SoC. rozmiar partycji zależy od liczby zmian wymaganych do utworzenia jądro – wybierz rozmiar z miejscem na przyszłe aktualizacje; zwykle Rozmiar partycji wynosi 8 MB.
  • Partycje DTO zaktualizowane pod kątem kategorii A/B urządzenia. Jądro przywracania jest takie samo jak jądro Androida, ale partycja musi być skonfigurowana dla urządzeń A/B, aby można ją było aktualizować bezprzewodowo. (OTA). Rozmiar partycji zależy od urządzenia i liczby na głównym blobu DT jądra SoC.

Wymagania dotyczące programu rozruchowego DTO

Aby zapewnić obsługę  nakładka drzewa urządzenia, program rozruchowy powinien:

  • Dowiedz się, jak i gdzie (biorąc pod uwagę gniazdo rozruchowe dla urządzeń A/B) ładujące Obiekt blob DT specyficzny dla SoC w sposób specyficzny dla dostawcy (zwykle wyodrębniany z końca obrazu jądra, ponieważ do jądra są dodawane obiekty blob).
  • Dowiedz się, jak i gdzie wczytać nakładany obiekt blob DT w specyficznym dla dostawcy środowisku sposób.
  • Popraw główny obiekt blob DT za pomocą nakładki, zanim przekażesz połączone urządzenie. do jądra systemu operacyjnego.

Więcej informacji o dodawaniu obsługi DTO w programie rozruchowym znajdziesz w artykule Nakładki drzewa urządzeń.