סקירה כללית על 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.