החל מ-27 במרץ 2025, מומלץ להשתמש ב-android-latest-release
במקום ב-aosp-main
כדי ליצור תרומות ל-AOSP. מידע נוסף זמין במאמר שינויים ב-AOSP.
סקירה כללית על Generic Bootloader (GBL)
קל לארגן דפים בעזרת אוספים
אפשר לשמור ולסווג תוכן על סמך ההעדפות שלך.
Generic Bootloader (GBL) הוא פתרון סטנדרטי לתוכנת אתחול שניתן לעדכון, שנועד לייעל את תהליך האתחול של Android. GBL מחליף את הסביבה המקוטעת מאוד של מנהלי אתחול ספציפיים לספקים ברכיב יחיד שמתוחזק באופן עקבי. השינוי הזה מפחית את היתירות, משפר את האבטחה ומפשט את העדכונים בסביבת Android.
GBL מורכב מהרכיבים הבאים:
- הלוגיקה של אתחול הליבה של Android
- הלוגיקת התוכנית הכוללת את לולאת התוכנית הראשית, זיהוי מצב האתחול וטעינת הליבה.
- Fastboot
- פרוטוקול תקשורת וכלי אבחון המשמשים להצגת קובץ האימג' במכשיר ולניפוי באגים.
- תוספי ספקים
- הרחבה של הרכיבים של GBL שצוינו למעלה על ידי יצירת פרוטוקולים משלכם. הפרוטוקולים האלה מוסכם עליהם מראש לפני ש-GBL מוסיפים אותם לרשימת התלות שלהם. תוספי הספקים הם אופציונליים.
- רכיבי handler של פרוטוקולים של UEFI
- הטמעות של פרוטוקולים נדרשים וממליצים של UEFI, כולל I/O של בלוקים, הקצאת זיכרון ויצירת מספרים אקראיים. הטמעות להפניה נמצאות בפרויקטים של קושחת האתחול (EDK2, UBoot, LK).
- הגדרות ספציפיות ל-Android של פרוטוקול UEFI
- פרוטוקולים מותאמים אישית של UEFI ל-AVB, ל-Fastboot, לבחירת חריצים, להגדרת מערכת ההפעלה ועוד. ההטמעות נמצאות בפרויקטים של קושחת קצה של ספקי סיליקון ל-Android.
החל מגרסה 16 של Android, אם אתם שולחים מכשיר שמבוסס על ערכת שבבים מסוג ARM-64, מומלץ מאוד לפרוס את הגרסה העדכנית ביותר של GBL בחתימה של Google ולשלב אותה בשרשרת האתחול.
מה השלב הבא?
במאמר פריסה של gbl מוסבר איך לפרוס את Generic Bootloader.
דוגמאות התוכן והקוד שבדף הזה כפופות לרישיונות המפורטים בקטע רישיון לתוכן. 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)."]]