Wdrażanie organizacji zajmujących się handlem narkotykami

Implementacja nakładek drzewa urządzeń obejmuje podział drzewa urządzeń (DT), partycjonowanie i uruchamianie. Po przygotowaniu działającego wdrożenia musisz też i określić strategię zapewnienia każdej partycji funkcji przenoszenia danych.

Podziel przenoszenie danych

Zacznij od podzielenia przenoszenia danych na dwie części:

  • Główny przenoszenie danych. Część, która zawiera tylko układ SOC, a także konfiguracje domyślne, udostępniane przez dostawcę układu SOC.
  • Nakładka przenoszenia danych. Konfiguracje konkretnych urządzeń dostarczane przez ODM/OEM.

Po podzieleniu przenoszenia danych należy zapewnić zgodność między głównymi z przeniesieniem przenoszenia danych i nakładaniem się przenoszenia danych, tak aby scalenie głównego przenoszenia danych z nałożonym plikiem przenoszenia danych było kompletne. Przenoszenie danych urządzenia. Szczegółowe informacje o formacie i regułach organizacji DTO znajdziesz w tych artykułach: Składnia DTO. Więcej informacji: wielu plików przenoszenia danych, patrz Wiele plików przenoszenia danych.

Tworzenie głównych i nakładanych przenoszenia danych

Aby utworzyć główny plik przenoszenia danych:

  1. Skompiluj główny plik przenoszenia danych .dts do pliku .dtb.
  2. Umieść plik .dtb na partycji dostępnej w czasie działania programu rozruchowego (szczegóły znajdziesz w sekcji [Tabele przenoszenia danych partycji](#partition)).

Aby utworzyć nakładkę przenoszenia danych:

  1. Skompiluj nakładkę .dts w pliku .dtbo. Choć ten format pliku jest taki sam, jak plik .dtb sformatowany jako jest spłaszczony, inne rozszerzenie pliku odróżnia go od z głównego obszaru przenoszenia.
  2. Umieść plik .dtbo na partycji dostępnej w czasie działania programu rozruchowego (szczegóły znajdziesz w sekcji [Tabele przenoszenia danych partycji](#partition)).

Szczegółowe informacje o kompilowaniu z DTC i weryfikowaniu wyników DTO na hoście znajdziesz w artykule Skompiluj i zweryfikuj dane.

Tablice przenoszenia danych partycji

Określ zaufaną i dostępną w środowisku wykonawczym lokalizację we Flashu wspomnienie do umieszczenia .dtb i .dtbo.

Przykładowe lokalizacje głównego pliku przenoszenia danych:

  • Część partycji rozruchu dołączana do jądra (image.gz)
  • Oddzielne obiekty blob DT (.dtb) w dedykowanej partycji (dtb)

Przykładowe lokalizacje nakładki DT:

Rysunek 1. Umieść plik .dtbo na niepowtarzalnej partycji, takiej jak dtbo.

Rysunek 2. Umieść plik .dtbo na partycji Odm (zrób to tylko wtedy, gdy program rozruchowy możliwość wczytywania danych z systemu plików partycji odm).

Uwaga: wartość parametru partycjonowanie nakładki DT zależy od urządzenia i liczby zmian wymaganych głównego bloba DT. Rozmiar 8 MB jest zwykle za duży i pozwala na jeśli zajdzie taka potrzeba.

Na urządzeniach, które obsługują bezproblemowych aktualizacji (A/B), głównych partycji przenoszenia danych i nakładek DT:

Rysunek 3. Partycja DTBO A/B, przykład 1.

Rysunek 4. Partycja DTBO A/B, przykład 2.

Uruchom w programie rozruchowym

Aby uruchomić:

Rysunek 5. Typowa implementacja środowiska wykonawczego dla DTO w programie rozruchowym.

  1. Wczytaj .dtb z pamięci.
  2. Wczytaj .dtbo z pamięci.
  3. Nałóż nakładkę .dtb z atrybutem .dtbo, aby wyświetlić scalony plik przenoszenia danych.
  4. Uruchom jądro z adresem pamięci scalonego pliku przenoszenia danych.

Zachowaj zgodność

Główny DTB (od dostawcy SoC) jest traktowany jako platforma API dla DTBO. Po dzieląc DT na część wspólną dla układu SOC i część związaną z określonym urządzeniem. musisz zadbać o to, aby w przyszłości te 2 części były zgodne, m.in.:

  • Definicja pliku przenoszenia danych w głównym pliku przenoszenia danych. Na przykład węzły, właściwości etykiety. Każda zmiana definicji w głównym pliku przenoszenia danych może spowodować zmiany w nakładce PD. Aby na przykład poprawić nazwę węzła w głównym obszarze przenoszenia danych, zdefiniuj „alias” dodaj etykietę jest mapowana na pierwotną nazwę węzła (aby uniknąć zmiany nakładki DT).
  • Lokalizacja sklepu w funkcji przenoszenia danych. Na przykład nazwa partycji, sklep .

Zadbaj o bezpieczeństwo

Program rozruchowy musi się upewnić, że plik DTB lub DTBO jest bezpieczny, niezmodyfikowany i nieuszkodzony. Możesz użyć dowolnego rozwiązania do zabezpieczenia DTB lub DTBO, np. Obraz rozruchowy podpis w VBoot 1.0 lub AVB Stopka HASH (VBoot 2.0).

  • Jeśli DTB lub DTBO znajduje się w unikalnej partycji, możesz ją dodać do łańcucha zaufania AVB. Łańcuch zaufania rozpoczyna się od chronionego sprzętowo katalogu głównego zaufania i przechodzi do programu rozruchowego, który weryfikuje integralność i autentyczność. partycji DTB lub DTBO.
  • Jeśli DTB lub DTBO znajduje się w istniejącej partycji (np. odm partycji), powinna ona znajdować się w łańcuchu zaufania AVB. (partycja DTBO może udostępniać klucz publiczny partycji odm).

Szczegółowe informacje znajdziesz w sekcji Zweryfikowano Rozruch.