תהליך האתחול

בדף הזה מתואר תהליך האתחול המומלץ למכשיר, ומוצג איור שלו באיור 1:

תהליך ההפעלה המאומתת

איור 1. תהליך האתחול המאומת.

תהליך העבודה למכשירים עם בדיקת A/B

אם המכשיר משתמש ב-A/B, תהליך האתחול שונה מעט. קודם צריך לסמן את המשבצת לאתחול כ-SUCCESSFUL באמצעות Boot Control HAL לפני עדכון המטא-נתונים של ההגנה מפני חזרה לגרסה קודמת.

אם יש עדכון פלטפורמה שנכשל (לא מסומן ב-SUCCESSFUL), מחסנית ה-A/B חוזרת לחריץ השני, שעדיין מכיל את הגרסה הקודמת של Android. עם זאת, אם הוגדרו מטא-נתונים של הגנה מפני חזרה לגרסה קודמת, אי אפשר יהיה להפעיל את הגרסה הקודמת בגלל ההגנה מפני חזרה לגרסה קודמת.

הודעה למשתמשים על מצב ההפעלה המאומתת

אחרי שקובעים את מצב האתחול של המכשיר, צריך להעביר את המצב הזה למשתמש. אם אין בעיות במכשיר, ממשיכים בלי להציג כלום. בעיות בהפעלה מאומתת נחלקות לקטגוריות הבאות:

  • צהוב: מסך אזהרה למכשירים נעולים עם שורש אמון מותאם אישית
  • כתום: מסך אזהרה למכשירים לא נעולים
  • ‫RED (eio): מסך אזהרה לגבי שחיתות של dm-verity
  • אדום (לא נמצא OS): לא נמצא OS תקין

מכשירים נעולים עם root of trust בהתאמה אישית

הצגת מסך צהוב בכל אתחול אם המכשיר נעול, אם הוגדר שורש מהימן מותאם אישית ואם התמונה נחתמה באמצעות השורש המהימן המותאם אישית הזה. המסך הצהוב נעלם אחרי עשר שניות והמכשיר ממשיך בתהליך האתחול. אם המשתמש לוחץ על לחצן ההפעלה, הטקסט *לחיצה על לחצן ההפעלה להשהיה* משתנה ל *לחיצה על לחצן ההפעלה להמשך*, והמסך אף פעם לא נסגר (יכול להיות שהמסך יתעמעם או יכבה כדי למנוע צריבה). אם לוחצים שוב, המסך נסגר והטלפון ממשיך בהפעלה.

בשביל hex-number, משתמשים בשמונה הספרות הראשונות של sha256 של ייצוג libavb של המפתח הציבורי שמשמש לאימות, לדוגמה d14a028c.

הצעה לטקסט:

מערכת הפעלה אחרת נטענת במכשיר.

צריך להיכנס לקישור הזה במכשיר אחר:

g.co/ABH

טביעת אצבע של מערכת ההפעלה: hex-number

לוחצים על לחצן ההפעלה כדי להשהות

דוגמה למסך צהוב
איור 2. דוגמה למסך YELLOW.

מכשירים לא נעולים

הצגת מסך כתום בכל אתחול אם המכשיר לא נעול. המסך הכתום נעלם אחרי עשר שניות והמכשיר ממשיך באתחול. אם המשתמש לוחץ על לחצן ההפעלה, הטקסט 'לחיצה על לחצן ההפעלה תוביל להשהיה' משתנה ל'לחיצה על לחצן ההפעלה תוביל להמשך' והמסך לא נסגר (יכול להיות שהמסך יתעמעם או יכבה אם צריך להגן עליו מפני צריבה או מבעיות דומות). אם תלחצו שוב, המסך ייסגר והטלפון ימשיך בהפעלה.

בשביל hex-number, משתמשים בשמונה הספרות הראשונות של sha256 של הייצוג libavb של המפתח הציבורי שמשמש לאימות, לדוגמה d14a028c.

הצעה לטקסט:

תוכנת האתחול לא נעולה ולא ניתן לוודא שהתוכנה תקינה. כל הנתונים ששמורים במכשיר עלולים להיות נגישים לתוקפים. אין לשמור מידע אישי רגיש במכשיר.

צריך להיכנס לקישור הזה במכשיר אחר:

g.co/ABH

מזהה: hex-number

לוחצים על כפתור ההפעלה כדי להשהות.

דוגמה למסך ORANGE
איור 3. דוגמה למסך ORANGE.

dm-verity corruption

הצגת מסך אדום eio אם נמצאה גרסה תקינה של Android והמכשיר נמצא במצב eio dm-verity. המשתמש צריך ללחוץ על לחצן ההפעלה כדי להמשיך. אם המשתמש לא אישר את מסך האזהרה תוך 30 שניות, המכשיר יכבה (כדי להגן על המסך מפני צריבה ולחסוך בחשמל).

הצעה לטקסט:

המכשיר פגום. אי אפשר לסמוך על האפליקציה, ויכול להיות שהיא לא תפעל כמו שצריך.

צריך להיכנס לקישור הזה במכשיר אחר:

g.co/ABH

לוחצים על לחצן ההפעלה כדי להמשיך.

דוגמה למסך RED eio
איור 4. דוגמה למסך של RED eio.

לא נמצאה מערכת הפעלה תקינה

הצגת מסך אדום אם לא נמצאה גרסה תקינה של Android. המכשיר לא יכול להמשיך בהפעלה. אם המשתמש לא אישר את מסך האזהרה תוך 30 שניות, המכשיר יכבה כדי להגן על המסך מפני צריבה ולחסוך בחשמל.

בשביל hex-number, משתמשים בשמונה הספרות הראשונות של sha256 של ייצוג libavb של המפתח הציבורי שמשמש לאימות, לדוגמה d14a028c.

הצעה לטקסט:

לא נמצאה מערכת הפעלה תקינה. המכשיר לא יופעל.

צריך להיכנס לקישור הזה במכשיר אחר:

g.co/ABH

מזהה: hex-number

לוחצים על כפתור ההפעלה כדי לכבות את המכשיר.

דוגמה למסך אדום
איור 5. דוגמה למסך אדום.

אישור ביטול הנעילה

הצגת מסך אישור ביטול הנעילה בתגובה לפקודה fastboot flashing unlock שמופעלת דרך ממשק fastboot. ההדגשה הראשונית היא על אל תבטל את הנעילה. אם המשתמש לא יבצע אינטראקציה עם מסך האזהרה תוך 30 שניות, המסך ייעלם והפקודה תיכשל.

הצעה לטקסט:

ביטול הנעילה של תוכנת האתחול יאפשר לכם להתקין בטלפון הזה תוכנת מערכת הפעלה בהתאמה אישית. מערכת הפעלה בהתאמה אישית לא עוברת את אותה רמת בדיקה כמו מערכת ההפעלה המקורית, ויכולה לגרום לטלפון ולאפליקציות המותקנות בו להפסיק לפעול בצורה תקינה.

לא בטוח שהתוכנה תעבוד באופן תקין במערכת הפעלה מותאמת אישית, ולכן הנתונים שמאוחסנים בטלפון נמצאים בסיכון כשתוכנת האתחול לא נעולה.

כדי למנוע גישה לא מורשית לנתונים האישיים שלכם, ביטול הנעילה של תוכנת האתחול מוחק גם את כל הנתונים האישיים בטלפון.

לוחצים על מקשי עוצמת הקול כדי לבחור אם לבטל את הנעילה של טוען האתחול, ואז לוחצים על לחצן ההפעלה כדי להמשיך.

לא מבטלים את הנעילה של תוכנת האתחול ומפעילים מחדש את הטלפון.

פותחים את תוכנת האתחול.

דוגמה למסך אישור לפתיחת הנעילה
איור 6. דוגמה למסך אישור ביטול הנעילה.

אישור נעילה

הצגת מסך אישור נעילה בתגובה להרצת הפקודה fastboot flashing lock דרך ממשק fastboot. הפוקוס מוגדר בהתחלה על לא לנעול. אם המשתמש לא יבצע פעולה במסך האזהרה תוך 30 שניות, המסך ייעלם והפקודה תיכשל.

טקסט:

אם תנעלו את תוכנת האתחול, לא תוכלו להתקין תוכנת מערכת הפעלה בהתאמה אישית בטלפון הזה.

כדי למנוע גישה לא מורשית לנתונים האישיים שלכם, נעילת תוכנת האתחול תגרום גם למחיקה של כל הנתונים האישיים בטלפון.

לוחצים על מקשי עוצמת הקול כדי לבחור אם לנעול את טוען האתחול, ואז על לחצן ההפעלה כדי להמשיך.

לא נועלים את תוכנת האתחול ומפעילים מחדש את הטלפון.

נועלים את תוכנת האתחול.

מסך אזהרה במכשיר לאישור הנעילה
איור 7. מסך אזהרה במכשיר לאישור הנעילה.

העברת מצב הפעלה מאומתת אל Android

טוען האתחול מעביר את מצב האתחול המאומת ל-Android באמצעות פרמטרים של פקודות ליבה, או באמצעות bootconfig ב-Android 12 ואילך. טוען האתחול מגדיר את האפשרות androidboot.verifiedbootstate לאחד מהערכים הבאים:

  • green אם המכשיר LOCKED ולא נעשה שימוש בשורש מהימן שמוגדר על ידי המשתמש
  • yellow אם המכשיר הוא LOCKED ונעשה בו שימוש בשורש מהימן שניתן להגדרה על ידי המשתמש
  • orange אם המכשיר הוא UNLOCKED

האפשרות androidboot.veritymode מוגדרת לערך eio או restart, בהתאם למצב של תוכנת האתחול ביחס לטיפול בשגיאות dm-verity. פרטים נוספים זמינים במאמר בנושא טיפול בשגיאות אימות.