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