از 27 مارس 2025، توصیه می کنیم از android-latest-release
به جای aosp-main
برای ساختن و کمک به AOSP استفاده کنید. برای اطلاعات بیشتر، به تغییرات AOSP مراجعه کنید.
نمای کلی بوت لودر عمومی (GBL).
با مجموعهها، منظم بمانید
ذخیره و طبقهبندی محتوا براساس اولویتهای شما.
Generic Bootloader (GBL) یک راه حل بوت لودر استاندارد شده و قابل به روز رسانی است که برای ساده کردن فرآیند بوت اندروید طراحی شده است. GBL چشم انداز بسیار تکه تکه شده بوت لودرهای خاص فروشنده را با یک مؤلفه واحد و به طور مداوم جایگزین می کند. این تغییر افزونگی را کاهش میدهد، امنیت را بهبود میبخشد و بهروزرسانیها را در سراسر اکوسیستم اندروید ساده میکند.
GBL از اجزای زیر تشکیل شده است:
- منطق اصلی بوت اندروید
- منطقی که شامل حلقه اصلی برنامه، تشخیص حالت بوت و بارگذاری هسته است.
- فست بوت
- یک پروتکل ارتباطی و ابزار تشخیصی که برای فلش و رفع اشکال دستگاه استفاده می شود.
- پسوند فروشنده
- با ایجاد پروتکل های خود، اجزای فوق الذکر GBL را گسترش دهید. قبل از اینکه GBL آنها را به لیست وابستگی خود اضافه کند، روی این پروتکل ها از قبل توافق شده است. پسوند فروشنده اختیاری است.
- کنترل کننده های پروتکل UEFI
- پیاده سازی برای پروتکل های مورد نیاز و توصیه شده UEFI، از جمله بلوک I/O، تخصیص حافظه و تولید اعداد تصادفی. پیاده سازی های مرجع در پروژه های سیستم عامل بوت (EDK2، UBoot، LK) یافت می شوند.
- تعاریف پروتکل UEFI خاص اندروید
- پروتکل های UEFI سفارشی برای AVB، Fastboot، انتخاب اسلات، پیکربندی سیستم عامل و موارد دیگر. پیاده سازی ها در پروژه های سیستم عامل Android Silicon Vendor یافت می شوند.
با شروع اندروید 16، اگر دستگاهی مبتنی بر چیپست ARM-64 ارسال میکنید، اکیداً توصیه میکنیم که آخرین نسخه GBL را که توسط Google امضا شده است، نصب کنید و آن را در زنجیره راهاندازی خود ادغام کنید.
بعدش چی؟
برای یادگیری نحوه استقرار Generic Bootloader، به Deploy gbl مراجعه کنید.
محتوا و نمونه کدها در این صفحه مشمول پروانههای توصیفشده در پروانه محتوا هستند. جاوا و OpenJDK علامتهای تجاری یا علامتهای تجاری ثبتشده Oracle و/یا وابستههای آن هستند.
تاریخ آخرین بهروزرسانی 2025-07-29 بهوقت ساعت هماهنگ جهانی.
[[["درک آسان","easyToUnderstand","thumb-up"],["مشکلم را برطرف کرد","solvedMyProblem","thumb-up"],["غیره","otherUp","thumb-up"]],[["اطلاعاتی که نیاز دارم وجود ندارد","missingTheInformationINeed","thumb-down"],["بیشازحد پیچیده/ مراحل بسیار زیاد","tooComplicatedTooManySteps","thumb-down"],["قدیمی","outOfDate","thumb-down"],["مشکل ترجمه","translationIssue","thumb-down"],["مشکل کد / نمونهها","samplesCodeIssue","thumb-down"],["غیره","otherDown","thumb-down"]],["تاریخ آخرین بهروزرسانی 2025-07-29 بهوقت ساعت هماهنگ جهانی."],[],[],null,["# Generic Bootloader (GBL) overview\n\nThe *Generic Bootloader (GBL)* is a standardized, updatable bootloader solution\ndesigned to streamline the Android boot process. GBL replaces the highly\nfragmented landscape of vendor-specific bootloaders with a single, consistently\nmaintained component. This change reduces redundancy, improves security, and\nsimplifies updates across the Android ecosystem.\n\nGBL consists of the following components:\n\n*core Android boot logic*\n: The logic that includes the main program loop, boot mode detection, and\n loading the kernel.\n\n*Fastboot*\n: A communication protocol and diagnostic tool used for device flashing and\n debug.\n\n*Vendor extensions*\n: Extension of the aforementioned components of GBL by creating\n your own protocols. These protocols are agreed upon in advance before GBL adds\n them to their dependency list. Vendor extensions are optional.\n\n*UEFI protocol handlers*\n: Implementations for required and recommended UEFI protocols, including block\n I/O, memory allocation, and random number generation. Reference implementations\n are found in the boot firmware projects (EDK2, UBoot, LK).\n\n*Android Specific UEFI Protocol definitions*\n: Custom UEFI protocols for AVB, Fastboot, slot selection, OS configuration,\n and more. Implementations are found in Android Silicon Vendor firmware projects.\n\nBeginning with Android 16, if you ship a device based on ARM-64 chipset, we\nstrongly recommend that you deploy the latest Google-signed version of GBL and\nintegrate it into your boot chain.\n\nWhat's next?\n------------\n\nTo learn how to deploy the Generic Bootloader, refer to\n[Deploy gbl](/docs/core/architecture/bootloader/generic-bootloader/gbl-dev)."]]