การซ้อนทับแผนผังอุปกรณ์

จัดทุกอย่างให้เป็นระเบียบอยู่เสมอด้วยคอลเล็กชัน บันทึกและจัดหมวดหมู่เนื้อหาตามค่ากำหนดของคุณ

โครงสร้างอุปกรณ์ (DT) เป็นโครงสร้างข้อมูลของโหนดที่มีชื่อและคุณสมบัติที่อธิบายฮาร์ดแวร์ที่ไม่สามารถค้นพบได้ ระบบปฏิบัติการ เช่น เคอร์เนล Linux ที่ใช้ใน Android ใช้ DT เพื่อรองรับการกำหนดค่าฮาร์ดแวร์ที่หลากหลายที่ใช้โดยอุปกรณ์ที่ใช้ Android ผู้จำหน่ายฮาร์ดแวร์จัดหาไฟล์ต้นฉบับ DT ของตนเอง ซึ่ง Linux จะคอมไพล์ลงในไฟล์ Device Tree Blob (DTB) ที่ใช้โดย bootloader

การ ซ้อนทับแผนผังอุปกรณ์ (DTO) ช่วยให้สามารถวางซ้อนทับแผนผังอุปกรณ์ (DTB) ส่วนกลางบนแผนผังอุปกรณ์ได้ bootloader ที่ใช้ DTO สามารถรักษา DT system-on-chip (SoC) และวางซ้อน DT เฉพาะอุปกรณ์แบบไดนามิก เพิ่มโหนดให้กับทรี และทำการเปลี่ยนแปลงคุณสมบัติในทรีที่มีอยู่

หน้านี้ให้รายละเอียดเวิร์กโฟลว์ bootloader ทั่วไปสำหรับการโหลด DT และแสดงรายการข้อกำหนด DT ทั่วไป หน้าอื่นๆ ในส่วนนี้จะอธิบายวิธี ปรับใช้การสนับสนุน bootloader สำหรับ DTO วิธี คอมไพล์ ตรวจสอบ และ เพิ่มประสิทธิภาพการใช้งาน DTO ของคุณ และวิธี ใช้ DT หลายตัว คุณยังสามารถรับรายละเอียดเกี่ยวกับ ไวยากรณ์ DTO และ การจัดรูปแบบพาร์ติชัน DTO/DTBO ที่จำเป็น

การอัปเดตใน Android 9 รีลีส

ใน Android 9 ตัวโหลดบูตต้องไม่แก้ไขคุณสมบัติที่กำหนดไว้ในการซ้อนทับแผนผังอุปกรณ์ก่อนที่จะส่ง Blob ทรีอุปกรณ์ที่เป็นหนึ่งเดียวไปยังเคอร์เนล

กำลังโหลดโครงสร้างอุปกรณ์

การโหลดโครงสร้างอุปกรณ์ในโปรแกรมโหลดบูตเกี่ยวข้องกับการสร้าง การแบ่งพาร์ติชัน และการรัน

รูปที่ 1 การใช้งานทั่วไปสำหรับการโหลดแผนผังอุปกรณ์ใน bootloader
  1. สร้าง:
    • ใช้คอมไพเลอร์ทรีอุปกรณ์ ( dtc ) เพื่อคอมไพล์ซอร์สทรีอุปกรณ์ ( .dts ) ลงในทรีอุปกรณ์ ( .dtb ) ซึ่งจัดรูปแบบเป็นทรีอุปกรณ์แบบแบน
    • แฟลชไฟล์ .dtb ลงในตำแหน่งที่เข้าถึงได้ของรันไทม์ของ bootloader (รายละเอียดด้านล่าง)
  2. หากต้องการแบ่งพาร์ติชัน ให้กำหนดตำแหน่งที่เข้าถึงได้ของบูตโหลดเดอร์และเชื่อถือได้ในหน่วยความจำแฟลชเพื่อใส่ . .dtb สถานที่ตัวอย่าง:
    พาร์ติชันสำหรับบูต
    รูปที่ 2 ใส่ .dtb ในพาร์ติชั่นสำหรับเริ่มระบบโดยต่อท้าย image.gz และส่งผ่านเป็น " kernel " ไปที่ mkbootimg
    พาร์ติชันที่ไม่ซ้ำ
    รูปที่ 3 ใส่ .dtb ในพาร์ติชั่นเฉพาะ (เช่น dtb partition)
  3. วิ่ง:
    • โหลด .dtb จากที่เก็บข้อมูลลงในหน่วยความจำ
    • เริ่มเคอร์เนลตามที่อยู่หน่วยความจำของ DT ที่โหลด

คำศัพท์

ส่วนนี้ใช้เงื่อนไขโครงสร้างอุปกรณ์ต่อไปนี้:

DT แผนผังอุปกรณ์
DTB อุปกรณ์ Tree Blob
DTBO Device Tree Blob สำหรับการซ้อนทับ
DTC คอมไพเลอร์ทรีอุปกรณ์
DTO การวางซ้อนแผนผังอุปกรณ์
DTS แหล่งที่มาของทรีอุปกรณ์
FDT Flattened Device Tree ซึ่งเป็นรูปแบบไบนารีที่มีอยู่ในไฟล์ .dtb blob