بوت لودر عمومی (GBL) یک راه حل بوت لودر استاندارد و قابل بروزرسانی است که برای ساده سازی فرآیند بوت اندروید طراحی شده است. GBL چشمانداز بسیار پراکنده بوت لودرهای مخصوص فروشنده را با یک جزء واحد و به طور مداوم نگهداری شده جایگزین میکند. این تغییر افزونگی را کاهش میدهد، امنیت را بهبود میبخشد و بروزرسانیها را در سراسر اکوسیستم اندروید ساده میکند.
GBL از اجزای زیر تشکیل شده است:
- منطق بوت هسته اندروید
- منطقی که شامل حلقه اصلی برنامه، تشخیص حالت بوت و بارگذاری هسته میشود.
- فستبوت
- یک پروتکل ارتباطی و ابزار تشخیصی که برای فلش کردن و اشکالزدایی دستگاه استفاده میشود.
- افزونههای فروشنده
- گسترش اجزای ذکر شده GBL با ایجاد پروتکلهای خودتان. این پروتکلها قبل از اینکه GBL آنها را به لیست وابستگیهای خود اضافه کند، از قبل مورد توافق قرار میگیرند. گسترشهای فروشنده اختیاری هستند.
- کنترلکنندههای پروتکل UEFI
- پیادهسازی پروتکلهای UEFI مورد نیاز و توصیهشده، شامل ورودی/خروجی بلوک، تخصیص حافظه و تولید اعداد تصادفی. پیادهسازیهای مرجع در پروژههای میانافزار بوت (EDK2، UBoot، LK) یافت میشوند.
- تعاریف پروتکل UEFI مخصوص اندروید
- پروتکلهای سفارشی UEFI برای AVB، Fastboot، انتخاب اسلات، پیکربندی سیستم عامل و موارد دیگر. پیادهسازیها در پروژههای میانافزار فروشندگان سیلیکون اندروید یافت میشوند.
با شروع اندروید ۱۶، اگر دستگاهی مبتنی بر چیپست ARM-64 دارید، اکیداً توصیه میکنیم که آخرین نسخه GBL مورد تأیید گوگل را نصب کرده و آن را در زنجیره بوت خود ادغام کنید.
بعدش چی؟
برای یادگیری نحوهی استقرار Generic Bootloader، به Deploy gbl مراجعه کنید.