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