סקירה כללית על Generic Bootloader ‏ (GBL)

Generic Bootloader‏ (GBL) הוא פתרון סטנדרטי לתוכנת אתחול שניתן לעדכון, שנועד לייעל את תהליך האתחול של Android. GBL מחליף את הסביבה המקוטעת מאוד של מנהלי אתחול ספציפיים לספקים ברכיב יחיד שמתוחזק באופן עקבי. השינוי הזה מפחית את היתירות, משפר את האבטחה ומפשט את העדכונים בסביבת Android.

GBL מורכב מהרכיבים הבאים:

לוגיקת האתחול של הליבה
הלוגיקת התוכנית הכוללת את לולאת התוכנית הראשית, זיהוי מצב האתחול וטעינת הליבה.
רכיבי handler של פרוטוקולים של UEFI
הטמעות של פרוטוקולים נדרשים וממליצים של UEFI, כולל I/O של בלוקים, גיבוב, הקצאת זיכרון ויצירת מספרים אקראיים. ההטמעות האלה נמצאות בפרויקטים של קושחת האתחול (EDK2, ‏ UBoot, ‏ LK).
פרוטוקולים ספציפיים ל-Android
פרוטוקולים מותאמים אישית של UEFI ל-AVB, ל-Fastboot, לבחירת חריץ, להגדרת מערכת הפעלה ועוד.
Fastboot
פרוטוקול תקשורת שמאפשר פלאש סטנדרטי של המכשיר ולוגית ניפוי באגים של המכשיר.
תוספי ספקים
הרחבה של הרכיבים של GBL שצוינו למעלה על ידי יצירת פרוטוקולים משלכם. הפרוטוקולים האלה מוסכמים מראש לפני ש-GBL מוסיפים אותם לרשימת התלות שלהם. תוספי הספקים הם אופציונליים.

החל מגרסה 16 של Android, אם אתם שולחים מכשיר שמבוסס על ערכת שבבים מסוג ARM-64, מומלץ מאוד לפרוס את הגרסה העדכנית ביותר של GBL בחתימה של Google ולשלב אותה בשרשרת האתחול.