ตั้งแต่วันที่ 27 มีนาคม 2025 เป็นต้นไป เราขอแนะนำให้ใช้ android-latest-release
แทน aosp-main
เพื่อสร้างและมีส่วนร่วมใน AOSP โปรดดูข้อมูลเพิ่มเติมที่หัวข้อการเปลี่ยนแปลงใน AOSP
ภาพรวมของ Generic Bootloader (GBL)
จัดทุกอย่างให้เป็นระเบียบอยู่เสมอด้วยคอลเล็กชัน
บันทึกและจัดหมวดหมู่เนื้อหาตามค่ากำหนดของคุณ
Generic Bootloader (GBL) เป็นโซลูชันบูตโหลดเดอร์มาตรฐานที่อัปเดตได้ ซึ่งออกแบบมาเพื่อปรับปรุงขั้นตอนการบูตของ Android ให้มีประสิทธิภาพยิ่งขึ้น GBL เข้ามาแทนที่ภาพรวมที่กระจัดกระจายอย่างมากของโปรแกรมบูตเฉพาะผู้ให้บริการด้วยคอมโพเนนต์เดียวที่ได้รับการดูแลรักษาอย่างสม่ำเสมอ การเปลี่ยนแปลงนี้ช่วยลดความซ้ำซ้อน ปรับปรุงความปลอดภัย และลดความซับซ้อนของการอัปเดตในระบบนิเวศของ Android
GBL ประกอบด้วยคอมโพเนนต์ต่อไปนี้
- ตรรกะการบูตหลักของ Android
- ตรรกะที่มีลูปโปรแกรมหลัก การตรวจหาโหมดการบูต และการโหลดเคอร์เนล
- Fastboot
- โปรโตคอลการสื่อสารและเครื่องมือการวินิจฉัยที่ใช้สำหรับการแฟลชและแก้ไขข้อบกพร่องของอุปกรณ์
- ชิ้นงานของผู้ให้บริการ
- การขยายองค์ประกอบของ GBL ที่กล่าวถึงข้างต้นด้วยการสร้างโปรโตคอลของคุณเอง โปรโตคอลเหล่านี้ได้รับการตกลงกันล่วงหน้าก่อนที่ GBL จะเพิ่มลงในรายการทรัพยากร Dependency ชิ้นงานของผู้ให้บริการเป็นตัวเลือกที่ไม่บังคับ
- ตัวแฮนเดิลโปรโตคอล UEFI
- การใช้งานโปรโตคอล UEFI ที่จำเป็นและแนะนำ ซึ่งรวมถึงบล็อก I/O, การจัดสรรหน่วยความจำ และการสร้างตัวเลขสุ่ม การใช้งานอ้างอิงจะอยู่ในโปรเจ็กต์เฟิร์มแวร์สำหรับบูต (EDK2, UBoot, LK)
- คำจำกัดความของโปรโตคอล UEFI สำหรับ Android โดยเฉพาะ
- โปรโตคอล UEFI ที่กําหนดเองสําหรับ AVB, Fastboot, การเลือกช่อง, การกําหนดค่าระบบปฏิบัติการ และอื่นๆ การใช้งานจะอยู่ในโปรเจ็กต์เฟิร์มแวร์ของผู้ให้บริการชิป Android
ตั้งแต่ Android 16 เป็นต้นไป หากคุณจัดส่งอุปกรณ์ที่ใช้ชิปเซ็ต ARM-64 เราขอแนะนําอย่างยิ่งให้คุณติดตั้งใช้งาน GBL เวอร์ชันล่าสุดที่ Google ลงนามและผสานรวมเข้ากับเชนการบูต
สิ่งต่อไปที่ควรทำ
ดูวิธีทำให้ Generic Bootloader ใช้งานได้ที่หัวข้อทำให้ gbl ใช้งานได้
ตัวอย่างเนื้อหาและโค้ดในหน้าเว็บนี้ขึ้นอยู่กับใบอนุญาตที่อธิบายไว้ในใบอนุญาตการใช้เนื้อหา Java และ OpenJDK เป็นเครื่องหมายการค้าหรือเครื่องหมายการค้าจดทะเบียนของ Oracle และ/หรือบริษัทในเครือ
อัปเดตล่าสุด 2025-07-27 UTC
[[["เข้าใจง่าย","easyToUnderstand","thumb-up"],["แก้ปัญหาของฉันได้","solvedMyProblem","thumb-up"],["อื่นๆ","otherUp","thumb-up"]],[["ไม่มีข้อมูลที่ฉันต้องการ","missingTheInformationINeed","thumb-down"],["ซับซ้อนเกินไป/มีหลายขั้นตอนมากเกินไป","tooComplicatedTooManySteps","thumb-down"],["ล้าสมัย","outOfDate","thumb-down"],["ปัญหาเกี่ยวกับการแปล","translationIssue","thumb-down"],["ตัวอย่าง/ปัญหาเกี่ยวกับโค้ด","samplesCodeIssue","thumb-down"],["อื่นๆ","otherDown","thumb-down"]],["อัปเดตล่าสุด 2025-07-27 UTC"],[],[],null,["# Generic Bootloader (GBL) overview\n\nThe *Generic Bootloader (GBL)* is a standardized, updatable bootloader solution\ndesigned to streamline the Android boot process. GBL replaces the highly\nfragmented landscape of vendor-specific bootloaders with a single, consistently\nmaintained component. This change reduces redundancy, improves security, and\nsimplifies updates across the Android ecosystem.\n\nGBL consists of the following components:\n\n*core Android boot logic*\n: The logic that includes the main program loop, boot mode detection, and\n loading the kernel.\n\n*Fastboot*\n: A communication protocol and diagnostic tool used for device flashing and\n debug.\n\n*Vendor extensions*\n: Extension of the aforementioned components of GBL by creating\n your own protocols. These protocols are agreed upon in advance before GBL adds\n them to their dependency list. Vendor extensions are optional.\n\n*UEFI protocol handlers*\n: Implementations for required and recommended UEFI protocols, including block\n I/O, memory allocation, and random number generation. Reference implementations\n are found in the boot firmware projects (EDK2, UBoot, LK).\n\n*Android Specific UEFI Protocol definitions*\n: Custom UEFI protocols for AVB, Fastboot, slot selection, OS configuration,\n and more. Implementations are found in Android Silicon Vendor firmware projects.\n\nBeginning with Android 16, if you ship a device based on ARM-64 chipset, we\nstrongly recommend that you deploy the latest Google-signed version of GBL and\nintegrate it into your boot chain.\n\nWhat's next?\n------------\n\nTo learn how to deploy the Generic Bootloader, refer to\n[Deploy gbl](/docs/core/architecture/bootloader/generic-bootloader/gbl-dev)."]]