Overlay hierarki perangkat

Hierarki perangkat (DT) adalah struktur data dari node dan properti bernama yang menjelaskan hardware yang tidak dapat ditemukan. Kernel, seperti kernel Linux yang digunakan di Android, menggunakan DT untuk mendukung berbagai konfigurasi hardware yang digunakan oleh perangkat yang didukung Android. Vendor hardware menyediakan file sumber hierarki perangkat (DTS) mereka sendiri, yang dikompilasi ke dalam file blob hierarki perangkat (DTB) menggunakan compiler hierarki perangkat. File ini kemudian digunakan oleh bootloader. File DTB berisi hierarki perangkat yang diratakan berformat biner.

Overlay hierarki perangkat (DTO) memungkinkan DTB pusat ditempatkan di DT (blob hierarki perangkat untuk overlay (DTBO)). Bootloader yang menggunakan DTO dapat mempertahankan DT system-on-chip (SoC) dan secara dinamis menempatkan DT khusus perangkat, sehingga menambahkan node ke hierarki dan membuat perubahan pada properti di hierarki yang ada.

Update dalam rilis Android 9

Di Android 9, bootloader tidak boleh mengubah properti yang ditentukan dalam DTO sebelum meneruskan DTB terpadu ke kernel.

Memuat DT

Memuat DT di bootloader melibatkan pembuatan, pemisahan, dan pengoperasian.

Gambar 1. Implementasi umum untuk memuat hierarki perangkat di bootloader.

  1. Untuk membuat dan melakukan flash DTB:

    1a. Gunakan DTC (dtc) untuk mengompilasi DTS (.dts) menjadi DTB (.dtb). DTB diformat sebagai DT yang diratakan. 1b. Lakukan flash file .dtb ke lokasi yang dapat diakses runtime bootloader (dijelaskan di bawah).

  2. Untuk membuat partisi, tentukan lokasi tepercaya dan dapat diakses runtime bootloader di memori flash untuk menempatkan .dtb. Contoh lokasi:

    Gambar 2. Masukkan .dtb di partisi booting dengan
    menambahkan ke image.gz dan meneruskan sebagai
    "kernel" ke mkbootimg.

    Gambar 3. Masukkan .dtb dalam partisi unik
    (misalnya, partisi dtb).

  3. Untuk memuat DTB dan memulai kernel:

    • Muat .dtb dari penyimpanan ke dalam memori.
    • Mulai kernel menggunakan alamat memori DT yang dimuat.

Apa selanjutnya?

Halaman ini menjelaskan alur kerja bootloader umum untuk memuat DT dan menyediakan daftar istilah DT umum. Halaman lain di bagian ini menjelaskan cara menerapkan dukungan bootloader, cara mengompilasi, memverifikasi, dan mengoptimalkan DTO, serta cara menggunakan beberapa DT. Anda juga dapat mendapatkan detail tentang sintaksis DTO dan pemformatan partisi DTO dan DTBO yang diperlukan.