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ń.