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