Lớp phủ cây thiết bị

Cây thiết bị (DT) là cấu trúc dữ liệu của các nút và thuộc tính được đặt tên mô tả phần cứng không thể phát hiện. Hạt nhân, chẳng hạn như nhân hệ điều hành Linux được sử dụng trong Android, hãy dùng DT để hỗ trợ nhiều cấu hình phần cứng được sử dụng theo thiết bị chạy Android. Nhà cung cấp phần cứng cung cấp cây thiết bị của riêng họ tệp nguồn (DTS) được biên dịch thành tệp blob cây thiết bị (DTB) bằng trình biên dịch cây thiết bị. Sau đó, các tệp này được sử dụng trình tải khởi động. Tệp DTB chứa một cây thiết bị đã làm phẳng theo định dạng nhị phân.

Lớp phủ cây thiết bị (DTO) cho phép DTB ở giữa phủ lên DT (blob cây thiết bị cho lớp phủ (DTBO)). Trình tải khởi động sử dụng DTO có thể duy trì hệ thống trên chip (SoC) DT và tự động phủ một DT dành riêng cho thiết bị, thêm các nút vào cây và thực hiện thay đổi đối với thuộc tính trong cây hiện tại.

Nội dung cập nhật trong bản phát hành Android 9

Trong Android 9, trình tải khởi động không được sửa đổi các thuộc tính được xác định trong DTO trước khi truyền DTB hợp nhất vào nhân.

Tải DT

Quá trình tải DT trong trình tải khởi động liên quan đến việc tạo, phân vùng và chạy.

Hình 1. Phương thức triển khai điển hình để tải cây thiết bị trong trình tải khởi động.

  1. Cách tạo và cài đặt ROM DTB:

    1a. Sử dụng DTC (dtc) để biên dịch DTS (.dts) thành DTB (.dtb). DTB được định dạng là DT được làm phẳng. 1b. Cài đặt ROM tệp .dtb vào một vị trí có thể truy cập vào thời gian chạy của trình tải khởi động (chi tiết bên dưới).

  2. Để phân vùng, hãy xác định một vị trí đáng tin cậy và có thể truy cập vào thời gian chạy của trình tải khởi động trong bộ nhớ flash để đặt .dtb. Các vị trí mẫu:

    Hình 2. Đặt .dtb vào phân vùng khởi động bằng cách
    thêm vào image.gz và truyền dưới dạng
    "kernel" vào mkbootimg.

    Hình 3. Đặt .dtb vào một phân vùng duy nhất
    (ví dụ: phân vùng dtb).

  3. Cách tải DTB và khởi động nhân:

    • Tải .dtb từ bộ nhớ vào bộ nhớ.
    • Khởi động nhân hệ điều hành bằng địa chỉ bộ nhớ của DT đã tải.

Tiếp theo là gì?

Trang này trình bày chi tiết quy trình tải khởi động thông thường để tải DT và cung cấp danh sách các thuật ngữ phổ biến về DT. Các trang khác trong phần này mô tả cách triển khai hỗ trợ trình tải khởi động, cách biên dịch, xác minh và tối ưu hoá DTO và cách sử dụng nhiều DT. Bạn có thể bạn cũng có thể xem thông tin chi tiết về cú pháp DTO và bắt buộc Định dạng phân vùng DTO và DTBO.