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

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

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

ดีทีบีโอ Device Tree Blob สำหรับการซ้อนทับ

การอัปเดตในการเปิดตัว Android 9

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

โหลดแผนผังอุปกรณ์

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

รูปที่ 1 การใช้งานทั่วไปสำหรับการโหลดแผนผังอุปกรณ์ใน bootloader
  1. หากต้องการสร้างและแฟลชแผนผังอุปกรณ์:

    1ก. ใช้คอมไพเลอร์แผนผังอุปกรณ์ ( dtc >) เพื่อคอมไพล์แหล่งที่มาของแผนผังอุปกรณ์ ( .dts ) ลงในแผนผังอุปกรณ์ ( .dtb ) หยดแผนผังอุปกรณ์ถูกจัดรูปแบบเป็นแผนผังอุปกรณ์แบบแบน 1ข. แฟลชไฟล์ .dtb ลงในตำแหน่งที่เข้าถึงได้แบบรันไทม์ของ bootloader (รายละเอียดด้านล่าง)

  2. หากต้องการแบ่งพาร์ติชัน ให้กำหนดตำแหน่งที่เข้าถึงได้แบบรันไทม์ของ Bootloader และตำแหน่งที่เชื่อถือได้ในหน่วยความจำแฟลชเพื่อใส่ .dtb สถานที่ตัวอย่าง:

    พาร์ติชันการบูต
    รูปที่ 2. ใส่ .dtb ในพาร์ติชันสำหรับเริ่มระบบโดยต่อท้าย image.gz และส่งผ่านเป็น " kernel " ไปที่ mkbootimg
    พาร์ติชันที่ไม่ซ้ำ
    รูปที่ 3. ใส่ .dtb ลงในพาร์ติชั่นเฉพาะ (เช่น พาร์ติชั่น dtb )
  3. หากต้องการโหลดทรีหยดอุปกรณ์และเริ่มเคอร์เนล:

    • โหลด .dtb จากที่เก็บข้อมูลลงในหน่วยความจำ
    • เริ่มเคอร์เนลโดยใช้ที่อยู่หน่วยความจำของ DT ที่โหลด

อะไรต่อไป?

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