GKI 1.0: การทดสอบความเข้ากันได้

หน้านี้จะอธิบายวิธีรับอิมเมจการบูตที่มีอาร์ติแฟกต์การสร้างเคอร์เนลสำหรับการทดสอบความเข้ากันได้

รับอิมเมจบูท

ใน AOSP คุณสามารถรับภาพบูตที่สร้างไว้ล่วงหน้าจาก ci.android.com ได้ โดยภาพบูตจะอยู่ในไฟล์เก็บถาวร aosp_arm64-img-*.zip ในเป้าหมายการสร้าง aosp_arm64 ดังนี้

พาร์ทเนอร์สามารถรับอิมเมจการบูตที่เซ็นชื่อหรือไม่เซ็นชื่อได้ ดังนี้

  • รับอิมเมจบูตที่ไม่ได้เซ็นชื่อซึ่งอิงตาม android12-5.4 จากสาขา aosp-main ที่ ci.android.com (ดูในเป้าหมายการสร้าง aosp_arm64) อิมเมจบูตเหล่านี้มี RAMdisk ที่สร้างขึ้นจากสาขา AOSP main อย่าใช้รูปภาพ boot-debug เนื่องจากมีไว้สำหรับอุปกรณ์ก่อน GKI เท่านั้น
  • รับอิมเมจบูตที่เซ็นชื่อแล้วซึ่งอิงตาม android11-5.4 จาก partner.android.com อิมเมจบูตเหล่านี้มี RAMdisk ที่สร้างขึ้นจากสาขา r-fs-release การรับรอง boot.img เป็นไปตามกระบวนการเดียวกับการรับรอง GSI

ทั้งอิมเมจบูตที่เซ็นชื่อและไม่ได้เซ็นชื่อมีตัวเลือกการบีบอัดเคอร์เนลต่อไปนี้

  • boot-5.4.img เป็นเคอร์เนลที่ไม่มีการบีบอัด
  • boot-5.4-gz เป็นเคอร์เนลที่บีบอัดด้วย Gzip
  • boot-5.4-lz4 เป็นเคอร์เนลที่บีบอัดด้วย lz4
สําหรับการทดสอบความเข้ากันได้ ให้ใช้อิมเมจบูตที่มีเคอร์เนลที่ส่งออกเฉพาะสัญลักษณ์ที่ปรากฏในรายการสัญลักษณ์ KMI (สัญลักษณ์คือ trimmed)

สําหรับการพัฒนา คุณสามารถใช้เคอร์เนลที่คอมไพล์ไว้ล่วงหน้าและภาพบูต GKI ที่ส่งออกสัญลักษณ์ทั้งหมดในเคอร์เนล (สัญลักษณ์คือ untrimmed) ระบบจะสร้างเคอร์เนลที่คอมไพล์ไว้ล่วงหน้าแบบไม่ตัดข้อมูลในเป้าหมาย kernel_debug_aarch64 สําหรับบิลด์เคอร์เนลที่เฉพาะเจาะจงใน ci.android.com และสร้างภาพบูต GKI แบบไม่ตัดข้อมูลในบิลด์ userdebug ควบคู่ไปกับภาพบูต GKI แบบตัดข้อมูลปกติ และมีชื่อไฟล์ที่ลงท้ายด้วย -allsyms.img

รับอาร์ติแฟกต์การสร้างเคอร์เนล

เมื่อแก้ไขข้อบกพร่องในไฟล์ GKI boot.img คุณควรมีอาร์ติแฟกต์การสร้างที่เชื่อมโยงกับเคอร์เนลในไฟล์นั้นด้วย ตัวอย่างเช่น คุณสามารถใช้ vmlinux ที่ไม่ได้ลบข้อมูลแท็กออกเพื่อแก้ไขข้อบกพร่อง และไฟล์ Manifest เพื่อสร้างบิลด์เคอร์เนล GKI อีกครั้งในเครื่อง วิธีรับอาร์ติแฟกต์สำหรับบิวด์

  1. ค้นหาหมายเลขบิลด์สำหรับเคอร์เนลที่สร้างไว้ล่วงหน้าซึ่งใช้สร้าง GKI boot.img หมายเลขบิลด์จะปรากฏที่ส่วนท้ายของเวอร์ชันเคอร์เนล โดยมีตัวอักษร ab นำหน้า ตัวอย่างต่อไปนี้แสดงหมายเลขบิลด์เป็นตัวหนา

    [ 0.000000] Linux version 5.4.49-00947-g9d21bcd4897b-ab6638796

    นอกจากนี้ คุณยังระบุหมายเลขบิลด์ของเคอร์เนลได้โดยใช้ grep เพื่อค้นหาอิมเมจการบูตที่มีเคอร์เนลที่ไม่มีการบีบอัด โดยทำดังนี้

    grep -a "Linux version " boot-5.4.img
  2. เปิดบิลด์ที่คอมไพล์ไว้ล่วงหน้าของเคิร์กเนลโดยใช้หมายเลขบิลด์ใน URL ต่อไปนี้ https://ci.android.com/builds/submitted/<number>/kernel_aarch64/latest

    เช่น เมื่อใช้หมายเลขบิลด์จากขั้นตอนที่ 1 URL จะเป็นดังนี้ https://ci.android.com/builds/submitted/6638796/kernel_aarch64/latest

    เมื่อใช้บิลด์ที่ไม่ได้ตัด ให้แทนที่ kernel_aarch64 ในลิงก์ด้วย kernel_debug_aarch64