ב-Android 10 וב-Android 11, ה-ramdisk של השלב הראשון מכיל את קובץ ה-init הבינארי של השלב הראשון (שמבצע קיבוע מוקדם כפי שמצוין ברשומות fstab) ואת קובצי ה-fstab של הספק. (כמו ב-Android 9 ובגרסאות קודמות, הערך של system.img מכיל את התוכן של $TARGET_ROOT_OUT).
במכשירים עם boot-ramdisk (לא A/B), השלב הראשון של init הוא קובץ הפעלה סטטי שנמצא ב-
/init. במכשירים האלה,system.imgמצורף בתור/system, ואז מתבצעת פעולת switch root כדי להעביר את הטעינה ב-/systemאל/. התוכן של ה-ramdisk מתפנה אחרי השלמת הרכיבה.במכשירים שמשתמשים בתיקיית שחזור כ-ramdisk, השלב הראשון של init נמצא ב-
/initבתוך ה-ramdisk של התיקייה לשחזור. במכשירים האלה, קודם עוברים את ה-root ל-/first_stage_ramdiskכדי להסיר את רכיבי השחזור מהסביבה, ואז ממשיכים כמו במכשירים עם boot-ramdisk (כלומר, מחברים אתsystem.imgכ-/system, עוברים את ה-root כדי להעביר את החיבור הזה ל-/ומפנים את התוכן של ה-ramdisk אחרי החיבור). אם הערךandroidboot.force_normal_boot=1מופיע בשורת הפקודה של הליבה (או ב-bootconfig מ-Android 12 ואילך), המכשירים יופעלו באופן רגיל (ב-Android) במקום להופעל במצב שחזור.
בסיום שלב ההפעלה הראשון, מתבצעת הפעלה של /system/bin/init עם הארגומנט selinux_setup כדי לקמפל ולטעון את SELinux למערכת. לבסוף, הפקודה init מריצה שוב את /system/bin/init עם הארגומנט second_stage. בשלב הזה, השלב הראשי של init פועל וממשיך את תהליך האתחול באמצעות הסקריפטים של init.rc.
בקטעים הבאים מפורטים ההבדלים בתצוגות המחיצות במכשירים שאינם עם תמיכה ב-A/B, לפני ואחרי Android 10.
פריסות של מחיצות (לא במכשירי A/B)
בקטעים הבאים מפורטים ההבדלים בתצוגות המחיצות במכשירים שאינם עם תמיכה ב-A/B, לפני ואחרי Android 10.
boot.img
| דיסק זיכרון (Ramdisk) (Android מגרסה 8.x ומטה) |
מערכת כ-root (Android 9) |
Ramdisk (Android 10 ו-11) |
|---|---|---|
מכיל ליבה ו-
ramdisk.img
-/
- init.rc
- init
- etc -> /system/etc
- system/ (mount point)
- vendor/ (mount point)
- odm/ (mount point)
...
|
מכיל ליבה רגילה לאתחול בלבד. | מכיל ליבה ו-
ramdisk.img
-/
- init
- vendor fstab files
- system/ (mount point)
- vendor/ (mount point)
- odm/ (mount point)
...
|
recovery.img
מכיל ליבה לשחזור ו-ramdisk.img לשחזור
system.img
| Ramdisk (Android מגרסה 8.x ומטה) |
מערכת כ-root (Android 9) |
Ramdisk (Android 10 ו-11) |
|---|---|---|
מכיל
system.img
-/
- bin/
- etc
- vendor -> /vendor
- ...
|
מכיל את התוכן הממוזג של
system.img
-/
- init.rc
- init
- etc -> /system/etc
- system/
- bin/
- etc/
- vendor -> /vendor
- ...
- vendor/ (mount point)
- odm/ (mount point)
...
|
מכיל את התוכן הממוזג של
system.img
-/
- init.rc
- init -> /system/bin/init
- etc -> /system/etc
- system/
- bin/
- etc/
- vendor -> /vendor
- ...
- vendor/ (mount point)
- odm/ (mount point)
...
|
פריסות של מחיצות (מכשירי A/B)
בקטעים הבאים מפורטים ההבדלים בתצוגות של המחיצות במכשירי A/B לפני ואחרי Android 10.
boot.img
| מערכת כ-root (Android 9) |
Ramdisk (Android 10 ו-11) |
|---|---|
מכיל את הליבה הרגילה של האתחול ואת recovery-ramdisk (BOARD_USES_RECOVERY_AS_BOOT := true).Recovery-ramdisk משמש רק כדי להפעיל את התכונה Recovery. |
מכיל את הליבה הרגילה של האתחול ואת recovery-ramdisk (BOARD_USES_RECOVERY_AS_BOOT := true). Recovery-ramdisk משמש לאתחול גם למצב שחזור וגם ל-Android.
ramdisk.img
-/
- init -> /system/bin/init
- first_stage_ramdisk
- vendor fstab files
- etc -> /system/etc
- system/ (mount point)
- vendor/ (mount point)
- odm/ (mount point)
...
|
system.img
מכיל את התוכן הממוזג של $TARGET_SYSTEM_OUT ו-$TARGET_ROOT_OUT.
system.img
-/
- init.rc
- init -> /system/bin/init
- etc -> /system/etc
- system/
- bin/
- etc/
- vendor -> /vendor
- ...
- vendor/ (mount point)
- odm/ (mount point)
...