Generic Bootloader (GBL), स्टैंडर्ड और अपडेट किया जा सकने वाला बूटलोडर सलूशन है. इसे Android की बूट प्रोसेस को आसान बनाने के लिए डिज़ाइन किया गया है. GBL, वेंडर के हिसाब से बूटलोडर के अलग-अलग वर्शन को एक ऐसे कॉम्पोनेंट से बदल देता है जिसे लगातार मैनेज किया जाता है. इस बदलाव से, ग़ैर-ज़रूरी चीज़ों की संख्या कम हो जाती है और सुरक्षा बेहतर होती है. साथ ही, Android नेटवर्क में अपडेट करना आसान हो जाता है.
GBL में ये कॉम्पोनेंट शामिल होते हैं:
- कोर बूट लॉजिक
- इस लॉजिक में मुख्य प्रोग्राम लूप, बूट मोड का पता लगाने, और कोर को लोड करने की सुविधा शामिल होती है.
- UEFI प्रोटोकॉल हैंडलर
- ज़रूरी और सुझाए गए UEFI प्रोटोकॉल के लिए लागू किए गए, जैसे कि ब्लॉक I/O, हैशिंग, मेमोरी ऐलोकेशन, और रैंडम नंबर जनरेशन. ये लागू करने के तरीके, बूट फ़र्मवेयर प्रोजेक्ट (EDK2, UBoot, LK) में मिलते हैं.
- Android के लिए खास प्रोटोकॉल
- AVB, फ़ास्टबूट, स्लॉट चुनने, ओएस कॉन्फ़िगरेशन वगैरह के लिए कस्टम UEFI प्रोटोकॉल.
- Fastboot
- यह एक कम्यूनिकेशन प्रोटोकॉल है, जो डिवाइस को स्टैंडर्ड तरीके से फ़्लैश करने और डिवाइस के डीबग लॉजिक की अनुमति देता है.
- वेंडर एक्सटेंशन
- अपने प्रोटोकॉल बनाकर, GBL के ऊपर बताए गए कॉम्पोनेंट को एक्सटेंशन करना. GBL, इन प्रोटोकॉल को अपनी डिपेंडेंसी सूची में जोड़ने से पहले, इन पर पहले से सहमति देता है. वेंडर एक्सटेंशन का इस्तेमाल करना ज़रूरी नहीं है.
अगर Android 16 के बाद, ARM-64 चिपसेट पर आधारित डिवाइस शिप किया जाता है, तो हमारा सुझाव है कि आप GBL का नया वर्शन डिप्लॉय करें. यह वर्शन, Google की ओर से साइन किया गया है. साथ ही, इसे अपनी बूट चेन में इंटिग्रेट करें.