באנדרואיד 10 ו-11, ramdisk השלב הראשון מכיל את השלב הראשון init בינארי (המבצע הרכבה מוקדמת כפי שצוין על ידי ערכי fstab) וקובצי fstab של הספק. (כמו באנדרואיד 9 ומטה, system.img
מכיל את התוכן של $TARGET_ROOT_OUT
.)
עבור מכשירים עם אתחול-ramdisk (לא A/B), השלב הראשון init הוא קובץ הפעלה סטטי הממוקם ב-
/init
. התקנים אלה מעלים אתsystem.img
כ-/system
, ולאחר מכן מבצעים פעולת בסיס מתג כדי להעביר את ה-mount ב-/system
אל/
. התוכן של ה-ramdisk משוחרר לאחר סיום ההרכבה.עבור התקנים המשתמשים בשחזור כ-ramdisk, השלב הראשון init ממוקם ב-
/init
בתוך ramdisk השחזור. התקנים אלה מעבירים תחילה את root ל-/first_stage_ramdisk
כדי להסיר את רכיבי השחזור מהסביבה, ולאחר מכן ממשיכים כמו התקנים עם אתחול-ramdisk (כלומר, mountsystem.img
כ-/system
, החלף את ה-root כדי להעביר את ה-mount אל/
, וכן תוכן ramdisk בחינם לאחר ההרכבה). אםandroidboot.force_normal_boot=1
קיים בשורת הפקודה של הליבה (או bootconfig מ-Android 12 ואילך), המכשירים מאתחלים כרגיל (לאנדרואיד) במקום לאתחל למצב שחזור.
לאחר שהשלב הראשון init מסתיים, הוא מבצע את /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
רמדיסק (אנדרואיד 8.x ומטה) | מערכת כשורש (אנדרואיד 9) | רמדיסק (אנדרואיד 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
רמדיסק (אנדרואיד 8.x ומטה) | מערכת כשורש (אנדרואיד 9) | רמדיסק (אנדרואיד 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
מערכת כשורש (אנדרואיד 9) | רמדיסק (אנדרואיד 10 ו-11) |
---|---|
מכיל גרעין אתחול רגיל ו-ramdisk התאוששות ( BOARD_USES_RECOVERY_AS_BOOT := true ).Recovery-ramdisk משמש רק כדי לאתחל לשחזור. | מכיל גרעין אתחול רגיל ו-ramdisk התאוששות ( BOARD_USES_RECOVERY_AS_BOOT := true ).Recovery-ramdisk משמש לאתחול גם לשחזור וגם לאנדרואיד. 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)
...