این صفحه چندین وظیفه را که ممکن است در صورت راهاندازی یک سیستم برای دستگاه خودتان نیاز داشته باشید، توضیح میدهد.
ایجاد پیکربندی فلش سفارشی
دستورالعملهای فستبوت در فایلی به نام fastboot-info.txt تعریف شدهاند. اگر چندین فایل fastboot-info.txt بسازید، چندین فایل fastboot-info.txt در $OUT_DIR خواهید داشت. و $ANDROID_PRODUCT_OUT به جدیدترین فایلی که ساختهاید اشاره میکند. این صفحه فهرستی از وظایفی را که فستبوت باید اجرا کند، ارائه میدهد و میتوان آنها را با استفاده از m fastboot_info بازسازی کرد. میتوانید با تغییر فایل fastboot-info.txt ، منطق فلش سفارشی را معرفی کنید.
فایل fastboot-info.txt از این دستورات پشتیبانی میکند:
-
flash %s: یک پارتیشن مشخص را فلش میکند. آرگومانهای اختیاری شامل--slot-other,filename_path, and--apply-vbmeta` هستند. -
update-super: پارتیشن super را بهروزرسانی میکند. -
if-wipe: اگر یک wipe مشخص شده باشد، به صورت مشروط کامپوننت دیگری را اجرا میکند. -
erase %s: یک پارتیشن مشخص را پاک میکند (فقط میتواند همراه باif-wipe-> استفاده شود، مثلاًif-wipe erase cache).
تعیین وضعیت قفل فلش
اگر در حال ساخت یک دیمن فلشبوت سفارشی (flashbootd) برای یک دستگاه هستید، باید بتوانید بوتلودر و وضعیت قفل بوتلودر را دریافت کنید. تابع getFlashLockState() @SystemApi وضعیت بوتلودر را ارسال میکند و رابط برنامهنویسی سیستمی PersistentDataBlockManager.getFlashLockState() وضعیت قفل بوتلودر را در دستگاههای سازگار برمیگرداند.
| مقدار بازگشتی | شرایط |
|---|---|
FLASH_LOCK_UNKNOWN | فقط توسط دستگاههایی که به اندروید ۷.x یا بالاتر ارتقا میدهند و قبلاً از تغییرات بوتلودر مورد نیاز برای دریافت وضعیت قفل فلش پشتیبانی نمیکردند، در صورتی که از قابلیت قفل/باز کردن قفل فلش پشتیبانی میکردند، بازگردانده میشود.
|
FLASH_LOCK_LOCKED | توسط هر دستگاهی که از قفل/باز کردن قفل فلش پشتیبانی نمیکند (یعنی دستگاه همیشه قفل است)، یا هر دستگاهی که از قفل/باز کردن قفل فلش پشتیبانی میکند و در حالت قفل است، بازگردانده میشود. |
FLASH_LOCK_UNLOCKED | توسط هر دستگاهی که از قفل/باز کردن قفل فلش پشتیبانی میکند و در حالت قفل نشده است، بازگردانده میشود. |
تولیدکنندگان باید مقادیر برگردانده شده توسط دستگاههایی با بوتلودرهای قفل شده و قفل نشده را آزمایش کنند. برای مثال، AOSP شامل یک پیادهسازی مرجع است که مقداری را بر اساس ویژگی بوت ro.boot.flash.locked برمیگرداند. کد نمونه در دایرکتوریهای زیر قرار دارد:
-
frameworks/base/services/core/java/com/android/server/PersistentDataBlockService.java -
frameworks/base/core/java/android/service/persistentdata/PersistentDataBlockManager.java