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

โครงสร้างอุปกรณ์ (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 ของคุณ และวิธีการ ใช้ DTS หลาย นอกจากนี้คุณยังจะได้รับรายละเอียดเกี่ยวกับ ไวยากรณ์ DTO และจำเป็นต้องมี พาร์ทิชัน DTO / DTBO การจัดรูปแบบ

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

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

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

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

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

คำศัพท์

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

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