ผู้ให้บริการ SoC และ ODM จํานวนมากรองรับการใช้ Device Tree (DT) หลายรายการในอุปกรณ์ ซึ่งช่วยให้ใช้ SKU หรือการกำหนดค่าหลายรายการในภาพเดียวได้ ในกรณีเช่นนี้ บูตโหลดเดอร์จะระบุฮาร์ดแวร์และโหลด DT ที่เกี่ยวข้องขณะรันไทม์
รูปที่ 1 การซ้อนทับ Device Tree (DTO) หลายรายการใน Bootloader
หมายเหตุ: คุณไม่จำเป็นต้องใช้ DT หลายรายการ
ตั้งค่า
หากต้องการเพิ่มการรองรับ DT หลายรายการลงในรูปแบบ DTO ให้ตั้งค่ารายการ DT หลักและรายการ DT วางซ้อนอีกรายการ
รูปที่ 2 การใช้งาน DTO รันไทม์สําหรับ DT หลายรายการ
ตัวโหลดการเปิดเครื่องควรทําสิ่งต่อไปนี้ได้
- อ่านรหัส SoC แล้วเลือก DT หลักที่เกี่ยวข้อง
- อ่านรหัสบอร์ดและเลือกชุด DT การวางซ้อนตามความเหมาะสม
คุณควรเลือก DT หลักเพียงรายการเดียวเพื่อใช้งานขณะรันไทม์ คุณเลือก DT วางซ้อนได้หลายรายการ แต่ต้องเข้ากันได้กับ DT หลักที่เลือก การใช้การวางซ้อนหลายรายการจะช่วยหลีกเลี่ยงการจัดเก็บการวางซ้อน 1 รายการต่อบอร์ดภายในพาร์ติชัน DTBO และช่วยให้บูตโหลดเดอร์ระบุชุดย่อยของการวางซ้อนที่จำเป็นตามรหัสบอร์ดได้ (หรืออาจใช้การสำรวจอุปกรณ์ต่อพ่วง) ตัวอย่างเช่น บอร์ด ก อาจต้องเพิ่มอุปกรณ์ด้วยการวางซ้อน 1, 3 และ 5 ส่วนบอร์ด ข อาจต้องเพิ่มอุปกรณ์ด้วยการวางซ้อน 1, 4 และ 5
พาร์ติชัน
หากต้องการแบ่งพาร์ติชัน ให้ระบุตำแหน่งที่เชื่อถือได้และเข้าถึงได้ในช่วงรันไทม์ของบูตโหลดเดอร์ในหน่วยความจำแฟลชเพื่อจัดเก็บ DTB และ DTBO (บูตโหลดเดอร์ต้องค้นหาไฟล์เหล่านี้ได้ในกระบวนการจับคู่) โปรดทราบว่า DTB และ DTBO ไม่สามารถอยู่ในพาร์ติชันเดียวกัน หาก DTB/DTBO อยู่ในพาร์ติชัน dtb
/dtbo
ให้ใช้โครงสร้างตารางและรูปแบบส่วนหัวตามที่ระบุไว้ในรูปแบบพาร์ติชัน DTB และ DTBO
ทำงานใน Bootloader
วิธีเรียกใช้
- ระบุ SoC และโหลด .dtb ที่เกี่ยวข้องจากพื้นที่เก็บข้อมูลลงในหน่วยความจำ
- ระบุบอร์ดและโหลด
.dtbo
ที่เกี่ยวข้องจากที่เก็บข้อมูลลงในหน่วยความจำ - วางซ้อน
.dtb
กับ.dtbo
เพื่อสร้างไฟล์ DT ที่ผสาน - เริ่มเคอร์เนลโดยระบุที่อยู่หน่วยความจำของ DT ที่ผสาน