درخت دستگاه (DT) یک ساختار داده از گره ها و ویژگی های نامگذاری شده است که سخت افزار غیرقابل کشف را توصیف می کند. هستهها، مانند هسته لینوکس مورد استفاده در اندروید، از DTها برای پشتیبانی از طیف وسیعی از پیکربندیهای سختافزاری مورد استفاده توسط دستگاههای مجهز به اندروید استفاده میکنند. فروشندگان سختافزار فایلهای منبع درختی دستگاه (DTS) خود را ارائه میکنند که با استفاده از کامپایلر درختی دستگاه در فایل blob درخت دستگاه (DTB) کامپایل میشوند. سپس این فایل ها توسط بوت لودر استفاده می شوند. فایل DTB حاوی یک درخت دستگاه پهن شده با فرمت باینری است.
یک پوشش درختی دستگاه (DTO) یک DTB مرکزی را قادر میسازد تا روی DT قرار گیرد (یک حباب درخت دستگاه برای پوشش (DTBO) ). یک بوت لودر با استفاده از DTO می تواند سیستم روی تراشه (SoC) DT را حفظ کند و به صورت پویا یک DT خاص دستگاه را پوشش دهد، گره هایی را به درخت اضافه کند و تغییراتی در ویژگی های درخت موجود ایجاد کند.
به روز رسانی در نسخه اندروید 9
در اندروید 9، بوت لودر نباید ویژگی های تعریف شده در DTO ها را قبل از ارسال DTB یکپارچه به هسته تغییر دهد.
یک DT را بارگذاری کنید
بارگذاری یک DT در بوت لودر شامل ساخت، پارتیشن بندی و اجرا می شود.
شکل 1. پیاده سازی معمولی برای بارگذاری درخت دستگاه در بوت لودر.
برای ایجاد و فلش DTB:
1a. از DTC (
dtc
) برای کامپایل DTS (.dts
) به DTB (.dtb
) استفاده کنید. DTB به صورت DT مسطح فرمت شده است. 1b. فایل.dtb
را در یک مکان قابل دسترسی بوت لودر در زمان اجرا فلش کنید (جزئیات زیر).برای پارتیشن بندی، یک مکان قابل دسترسی و قابل اعتماد بوت لودر در حافظه فلش برای قرار دادن
.dtb
تعیین کنید. مکان های نمونه:شکل 2. .dtb را در یک پارتیشن بوت قرار دهید
اضافه کردن به image.gz و ارسال به عنوان
"هسته" به mkbootimg.شکل 3. .dtb را در یک پارتیشن منحصر به فرد قرار دهید
(مثلا پارتیشن dtb).برای بارگذاری DTB و راه اندازی هسته:
-
.dtb
را از حافظه در حافظه بارگیری کنید. - هسته را با استفاده از آدرس حافظه DT بارگذاری شده شروع کنید.
-
بعدش چی؟
این صفحه یک گردش کار معمولی بوت لودر برای بارگذاری DT را شرح می دهد و لیستی از اصطلاحات رایج DT را ارائه می دهد. سایر صفحات این بخش نحوه پیاده سازی پشتیبانی بوت لودر ، نحوه کامپایل ، تأیید، و بهینه سازی DTO و نحوه استفاده از چندین DT را شرح می دهند. شما همچنین می توانید جزئیات مربوط به نحو DTO و قالب بندی پارتیشن DTO و DTBO مورد نیاز را دریافت کنید.