Google berkomitmen untuk mendorong terwujudnya keadilan ras bagi komunitas Kulit Hitam. Lihat caranya.

Hamparan Pohon Perangkat

Sebuah pohon perangkat (DT) adalah struktur data node bernama dan properti yang menggambarkan perangkat keras yang tidak dapat ditemukan. Sistem operasi, seperti kernel Linux yang digunakan di Android, menggunakan DT untuk mendukung berbagai konfigurasi perangkat keras yang digunakan oleh perangkat yang diberdayakan Android. Vendor perangkat keras menyediakan file sumber DT mereka sendiri, yang kemudian dikompilasi oleh Linux ke dalam file Device Tree Blob (DTB) yang digunakan oleh bootloader.

Sebuah overlay pohon perangkat (DTO) memungkinkan sentral pohon perangkat gumpalan (DTB) menjadi overlay di pohon perangkat. Bootloader yang menggunakan DTO dapat mempertahankan DT system-on-chip (SoC) dan secara dinamis melapisi DT khusus perangkat, menambahkan node ke pohon dan membuat perubahan pada properti di pohon yang ada.

Halaman ini merinci alur kerja bootloader khas untuk memuat DT dan menyediakan daftar istilah DT umum. Halaman lain dalam bagian ini menjelaskan bagaimana menerapkan bootloader dukungan untuk DTO , bagaimana mengkompilasi , memverifikasi, dan mengoptimalkan pelaksanaan DTO Anda , dan bagaimana menggunakan beberapa DTS . Anda juga bisa mendapatkan rincian tentang sintaks DTO dan diperlukan partisi DTO / DTBO format .

Pembaruan di Android 9 Rilis

Di Android 9, bootloader tidak boleh mengubah properti yang ditentukan dalam hamparan pohon perangkat sebelum meneruskan gumpalan pohon perangkat terpadu ke kernel.

Memuat pohon perangkat

Memuat pohon perangkat di bootloader melibatkan membangun, mempartisi, dan menjalankan.

Gambar 1. Khas implementasi untuk pohon memuat perangkat di bootloader.
  1. Untuk membangun:
    • Menggunakan compiler pohon perangkat ( dtc ) untuk mengkompilasi sumber pohon perangkat ( .dts ) menjadi gumpalan pohon perangkat ( .dtb ), diformat sebagai pohon perangkat pipih.
    • Flash .dtb file ke sebuah bootloader runtime-diakses lokasi (rinci di bawah).
  2. Untuk partisi, menentukan bootloader runtime-diakses dan lokasi dipercaya dalam memori flash untuk menempatkan .dtb . Contoh lokasi:
    Partisi Booting
    Gambar 2. Masukan .dtb di partisi boot dengan menambahkan ke image.gz dan melewati sebagai " kernel " untuk mkbootimg .
    Partisi Unik
    Gambar 3. Masukan .dtb di partisi yang unik (misalnya dtb partisi).
  3. Untuk berlari:
    • Memuat .dtb dari penyimpanan ke dalam memori.
    • Mulai kernel dengan alamat memori DT yang dimuat.

Terminologi

Bagian ini menggunakan istilah hierarki perangkat berikut:

DT Pohon Perangkat
DTB Gumpalan Pohon Perangkat
DTBO Perangkat Pohon Blob untuk Overlay
DTC Kompilator Pohon Perangkat
DTO Hamparan Pohon Perangkat
DTS Sumber Pohon Perangkat
FDT Perangkat datar Pohon, format biner yang terdapat dalam .dtb berkas gumpalan