Hierarki perangkat (DT) adalah struktur data node dan properti bernama yang menjelaskan perangkat keras yang tidak dapat ditemukan. {i>Kernel<i}, seperti {i>kernel<i} Linux di Android, menggunakan DT untuk mendukung berbagai konfigurasi perangkat keras oleh perangkat yang didukung Android. Vendor hardware menyediakan hierarki perangkat mereka sendiri sumber (DTS), yang dikompilasi menjadi file device tree blob (DTB) menggunakan compiler hierarki perangkat. File ini kemudian digunakan oleh {i>bootloader<i}. File DTB berisi hierarki perangkat yang diratakan berformat biner.
Overlay hierarki perangkat (DTO) memungkinkan DTB pusat untuk ditempatkan pada DT (blob hierarki perangkat untuk overlay (DTBO)). {i>Bootloader<i} yang menggunakan DTO dapat mempertahankan sistem di {i>chip<i} (SoC) DT dan menempatkan DT spesifik per perangkat secara dinamis, menambahkan node ke hierarki dan mengubah properti di struktur pohon yang ada.
Update dalam rilis Android 9
Di Android 9, bootloader tidak boleh memodifikasi yang ditentukan dalam DTO sebelum meneruskan DTB terpadu ke {i>kernel<i}.
Memuat DT
Pemuatan DT di bootloader melibatkan pembuatan, partisi, dan pengoperasian.
Gambar 1. Implementasi umum untuk memuat hierarki perangkat di bootloader.
Untuk membuat dan melakukan flash DTB:
1a. Gunakan DTC (
dtc
) untuk mengompilasi DTS (.dts
) menjadi DTB (.dtb
). DTB diformat sebagai DT yang disatukan. 1b. Lakukan flash file.dtb
ke lokasi yang dapat diakses runtime bootloader (dijelaskan di bawah).Untuk membuat partisi, tentukan lokasi yang dapat diakses dan tepercaya pada runtime bootloader dalam memori flash untuk memasukkan
.dtb
. Contoh lokasi:Gambar 2. Masukkan .dtb di partisi booting dengan
menambahkannya ke image.gz dan meneruskan sebagai
"kernel" ke {i>mkbootimg<i}.Gambar 3. Masukkan .dtb di partisi unik
(misalnya, partisi dtb).Untuk memuat DTB dan memulai kernel:
- Muat
.dtb
dari penyimpanan ke memori. - Mulai kernel menggunakan alamat memori DT yang dimuat.
- Muat
Apa selanjutnya?
Halaman ini menjelaskan alur kerja bootloader pada umumnya untuk memuat DT dan menyediakan daftar istilah DT yang umum. Halaman lain dalam bagian ini menjelaskan cara menerapkan dukungan bootloader, cara mengompilasi, memverifikasi, dan mengoptimalkan DTO, dan cara menggunakan beberapa DT. Anda dapat juga dapatkan detail tentang sintaksis DTO dan wajib diisi Pemformatan partisi DTO dan DTBO.