جریان چکمه

جریان بوت توصیه شده برای یک دستگاه به شرح زیر است:

جریان بوت تأیید شده

شکل ۱. جریان بوت تأیید شده.

جریان برای دستگاه‌های A/B

اگر دستگاه از A/B استفاده می‌کند، روند بوت کمی متفاوت است. قبل از به‌روزرسانی فراداده‌ی Rollback Protection، ابتدا باید اسلات مورد نظر برای بوت با استفاده از Boot Control HAL به عنوان SUCCESSFUL علامت‌گذاری شود.

اگر به‌روزرسانی پلتفرم با شکست مواجه شود (با عنوان SUCCESSFUL علامت‌گذاری نشود)، پشته A/B به اسلات دیگر برمی‌گردد که هنوز نسخه قبلی اندروید را در خود دارد. با این حال، اگر Rollback Protection-metadata تنظیم شده باشد، نسخه قبلی به دلیل Rollback Protection نمی‌تواند بوت شود.

وضعیت بوت تأیید شده را به کاربران اطلاع دهید

پس از تعیین وضعیت بوت یک دستگاه، باید آن وضعیت را به کاربر اطلاع دهید. اگر دستگاه هیچ مشکلی ندارد، بدون نمایش چیزی ادامه دهید. مشکلات بوت تأیید شده در این دسته‌ها قرار می‌گیرند:

  • زرد: صفحه هشدار برای دستگاه‌های قفل‌شده با تنظیم ریشه اعتماد سفارشی
  • نارنجی: صفحه هشدار برای دستگاه‌های قفل نشده
  • قرمز (eio): صفحه هشدار برای خرابی dm-verity
  • قرمز (سیستم عامل یافت نشد): هیچ سیستم عامل معتبری یافت نشد

دستگاه‌های قفل‌شده با ریشه اعتماد سفارشی

صفحه هشدار دستگاه زرد
شکل ۲ : نمونه‌ای از یک صفحه زرد

اگر دستگاه قفل شده باشد، یک ریشه اعتماد سفارشی تنظیم شده باشد و تصویر با این ریشه اعتماد سفارشی امضا شده باشد، در هر بوت یک صفحه زرد نشان داده می‌شود. صفحه زرد پس از ده ثانیه بسته می‌شود و دستگاه به بوت شدن ادامه می‌دهد. اگر کاربر دکمه پاور را فشار دهد، متن "Press power button to pause" به "Press power button to continue" تغییر می‌کند و صفحه هرگز بسته نمی‌شود (اگرچه ممکن است دستگاه برای محافظت در برابر سوختگی، صفحه را کم نور یا خاموش کند). اگر دوباره فشار داده شود، صفحه بسته می‌شود و تلفن به بوت شدن ادامه می‌دهد.

برای hex-number ، از ۸ رقم اول sha256 مربوط به نمایش کلید عمومی مورد استفاده برای تأیید، مثلاً d14a028c ، استفاده کنید.

متن پیشنهادی:

دستگاه شما سیستم عامل متفاوتی را بارگذاری کرده است.

برای اطلاعات بیشتر، روی دستگاه دیگری به این لینک مراجعه کنید:

g.co/ABH

شناسه: hex-number

برای مکث، دکمه پاور را فشار دهید

دستگاه‌های قفل‌گشایی‌شده

صفحه هشدار دستگاه نارنجی
شکل ۳ : نمونه‌ای از یک صفحه نارنجی

اگر دستگاه قفل نباشد، در هر بار بوت شدن، صفحه نارنجی نمایش داده می‌شود. صفحه نارنجی پس از ده ثانیه بسته می‌شود و دستگاه به بوت شدن ادامه می‌دهد. اگر کاربر دکمه پاور را فشار دهد، متن «برای مکث دکمه پاور را فشار دهید» به «برای ادامه دکمه پاور را فشار دهید» تغییر می‌کند و صفحه هرگز بسته نمی‌شود (در صورت نیاز، ممکن است دستگاه برای محافظت در برابر سوختگی یا موارد مشابه، صفحه را کم‌نور و/یا خاموش کند). در صورت فشار مجدد، صفحه بسته می‌شود و تلفن به بوت شدن ادامه می‌دهد.

برای hex-number ، از ۸ رقم اول sha256 مربوط به نمایش کلید عمومی مورد استفاده برای تأیید، مثلاً d14a028c ، استفاده کنید.

متن پیشنهادی:

بوت لودر آنلاک شده است و نمی‌توان سلامت نرم‌افزار را تضمین کرد. هرگونه داده ذخیره شده روی دستگاه ممکن است در دسترس مهاجمان قرار گیرد. هیچ داده حساسی را روی دستگاه ذخیره نکنید.

برای اطلاعات بیشتر، روی دستگاه دیگری به این لینک مراجعه کنید:

g.co/ABH

شناسه: hex-number

برای دکمه پاور را فشار دهید.

فساد dm-verity

صفحه هشدار دستگاه eio قرمز
شکل ۴ : نمونه‌ای از صفحه نمایش قرمز eio

اگر نسخه معتبری از اندروید پیدا شود و دستگاه در حال حاضر در حالت eio dm-verity باشد، صفحه قرمز eio نمایش داده می‌شود. کاربر برای ادامه باید روی دکمه پاور کلیک کند. اگر کاربر ظرف 30 ثانیه صفحه هشدار را تأیید نکند، دستگاه خاموش می‌شود (برای محافظت از صفحه نمایش در برابر سوختگی و صرفه‌جویی در مصرف برق).

متن پیشنهادی:

دستگاه شما خراب است. نمی‌توان به آن اعتماد کرد و ممکن است به درستی کار نکند.

برای اطلاعات بیشتر، روی دستگاه دیگری به این لینک مراجعه کنید:

g.co/ABH

برای ادامه، دکمه پاور را دهید.

هیچ سیستم عامل معتبری یافت نشد

صفحه هشدار قرمز رنگ خرابی دستگاه
شکل ۵ : نمونه‌ای از یک صفحه قرمز

اگر هیچ نسخه معتبری از اندروید پیدا نشود، صفحه قرمز نشان داده می‌شود. دستگاه نمی‌تواند بوت شود. اگر کاربر ظرف 30 ثانیه صفحه هشدار را تأیید نکند، دستگاه خاموش می‌شود تا از صفحه نمایش در برابر سوختگی محافظت کند و در مصرف برق صرفه‌جویی شود.

برای hex-number ، از ۸ رقم اول sha256 مربوط به نمایش کلید عمومی مورد استفاده برای تأیید، مثلاً d14a028c ، استفاده کنید.

متن پیشنهادی:

هیچ سیستم عامل معتبری یافت نشد. دستگاه بوت نمی‌شود.

برای اطلاعات بیشتر، روی دستگاه دیگری به این لینک مراجعه کنید:

g.co/ABH

شناسه: hex-number

برای خاموش کردن، دکمه پاور را فشار دهید.

تأیید را باز کنید

صفحه هشدار باز کردن قفل دستگاه
شکل ۶ : نمونه‌ای از صفحه تأیید باز کردن قفل

نمایش صفحه تأیید باز کردن قفل در پاسخ به دستور fastboot flashing unlock که از طریق رابط fastboot اجرا می‌شود. تمرکز اولیه روی «باز کردن قفل انجام نشود» است. اگر کاربر ظرف 30 ثانیه با صفحه هشدار تعامل نداشته باشد، صفحه ناپدید می‌شود و دستور ناموفق خواهد بود.

متن پیشنهادی:

اگر بوت لودر را آنلاک کنید، می‌توانید نرم‌افزار سیستم عامل سفارشی را روی این گوشی نصب کنید. یک سیستم عامل سفارشی تحت همان سطح آزمایش سیستم عامل اصلی قرار نمی‌گیرد و می‌تواند باعث شود گوشی و برنامه‌های نصب شده شما به درستی کار نکنند. یکپارچگی نرم‌افزار با یک سیستم عامل سفارشی تضمین نمی‌شود، بنابراین هرگونه داده ذخیره شده روی گوشی در حین آنلاک بوت لودر ممکن است در معرض خطر باشد.

برای جلوگیری از دسترسی غیرمجاز به اطلاعات شخصی شما، باز کردن قفل بوت لودر تمام اطلاعات شخصی موجود در تلفن شما را نیز حذف می‌کند.

برای انتخاب اینکه آیا می‌خواهید قفل بوت لودر را باز کنید یا خیر، دکمه افزایش/کاهش صدا را فشار دهید، سپس برای ادامه، دکمه پاور را فشار دهید.

باز کردن قفل

بوت لودر را آنلاک کنید.

قفل را باز نکن

بوت لودر رو آنلاک نکن و گوشی رو ریستارت کن.

تأیید قفل

نمایش صفحه تأیید قفل در پاسخ به اجرای دستور fastboot flashing lock از طریق رابط فست‌بوت. تمرکز اولیه روی «قفل نکنید» است. اگر کاربر ظرف ۳۰ ثانیه با صفحه هشدار تعامل نداشته باشد، صفحه ناپدید می‌شود و دستور با شکست مواجه می‌شود.

متن:

اگر بوت لودر را قفل کنید، نمی‌توانید نرم‌افزار سیستم عامل سفارشی را روی این گوشی نصب کنید. برای جلوگیری از دسترسی غیرمجاز به اطلاعات شخصی شما، قفل کردن بوت لودر تمام اطلاعات شخصی روی گوشی شما را نیز حذف می‌کند.

برای انتخاب قفل کردن بوت لودر، دکمه‌های افزایش/کاهش صدا را فشار دهید، سپس برای ادامه، دکمه پاور را فشار دهید.

قفل

قفل کردن بوت لودر.

قفل نکن

بوت لودر رو قفل نکنید و گوشی رو ریستارت کنید.

وضعیت بوت تأیید شده را به اندروید اطلاع دهید

صفحه هشدار تأیید قفل دستگاه
شکل ۷ : صفحه هشدار تأیید قفل دستگاه

بوت‌لودر، وضعیت بوت تأیید شده (Verified Boot State) را از طریق پارامترهای دستور هسته یا از طریق bootconfig که از اندروید ۱۲ شروع می‌شود، به اندروید اطلاع می‌دهد. این بوت‌لودر گزینه androidboot.verifiedbootstate را روی یکی از مقادیر زیر تنظیم می‌کند:

  • green : اگر دستگاه LOCKED باشد و از ریشه اعتماد قابل تنظیم توسط کاربر استفاده نشده باشد
  • yellow : اگر دستگاه LOCKED باشد و از ریشه اعتماد قابل تنظیم توسط کاربر استفاده شود
  • orange : اگر دستگاه UNLOCKED باشد

گزینه androidboot.veritymode بسته به اینکه بوت لودر در رابطه با مدیریت خطاهای dm-verity در چه وضعیتی باشد، روی eio یا restart تنظیم می‌شود. برای جزئیات بیشتر، به مدیریت خطاهای تأیید مراجعه کنید.