בגרסאות 10 ו-11 של Android,
שלב ה-ramdisk בשלב הראשון
מכיל את הבינארי הראשון מסוג אתחול (שמבצע טעינה מוקדמת כפי שצוין)
לפי רשומות fstab) וקובצי fstab של הספק. (כמו ב-Android 9 ומטה,
system.img
מכיל את התוכן של $TARGET_ROOT_OUT
.)
במכשירים עם רדיסק אתחול (לא A/B), אתחול השלב הראשון הוא סטטי קובץ ההפעלה נמצא ב-
/init
. המכשירים האלה טוענים אתsystem.img
בתור/system
, ואז לבצע פעולת שורש של מתג כדי להעביר את הטעינה ב-/system
אל/
. התוכן של הרדיסק משוחרר לאחר השלמת הטעינה.במכשירים שבהם נעשה שימוש בשחזור כ-ramdisk, אתחול השלב הראשון ממוקם ב-
/init
בתוך ברדיסק השחזור. המכשירים האלה עוברים קודם לרמה הבסיסית (root) אל/first_stage_ramdisk
כדי להסיר את רכיבי השחזור מהסביבה, לאחר מכן ממשיכים בדיוק כמו מכשירים עם רדיסק אתחול (כלומר, מתקיניםsystem.img
בתור/system
, צריך להחליף ברמה הבסיסית (root) כדי להעביר את הטעינה הזו אל/
, ובחינם תוכן של ramdisk לאחר הטעינה). אםandroidboot.force_normal_boot=1
הוא קיימת בשורת הפקודה בליבה (kernel) (או startconfig מ-Android 12 ואילך), המכשירים מופעלים כרגיל (ל-Android) במקום לאתחל במצב שחזור.
אחרי שהשלב הראשון מסתיים, הוא מבצע את הפעולה /system/bin/init
עם
הארגומנט selinux_setup
כדי להדר ולטעון את SELinux במערכת. לבסוף,
init יריץ שוב את /system/bin/init
עם הארגומנט second_stage
. בשעה הזו
השלב הראשי של אתחול ריצות וממשיך את תהליך האתחול באמצעות
init.rc
סקריפטים.
הקטעים הבאים מפרטים את ההבדלים בפריסות המחיצות של השותפים שאינם A/B מכשירים לפני ואחרי Android 10.
פריסות מחיצות (מכשירים שהם לא מסוג A/B)
הקטעים הבאים מפרטים את ההבדלים בפריסות המחיצות של השותפים שאינם A/B מכשירים לפני ואחרי Android 10.
https://support.google.com
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) ... |
מכיל ליבה (kernel) רגילה של אתחול בלבד. | הוא מכיל ליבה ו- ramdisk.img -/ - init - vendor fstab files - system/ (mount point) - vendor/ (mount point) - odm/ (mount point) ... |
שחזור.img
מכיל ליבה (kernel) לשחזור ו-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.
https://support.google.com
מערכת בתור הרמה הבסיסית (root) (Android 9) |
Ramdisk (Android 10 ו- 11) |
---|---|
מכילה ליבה (kernel) רגילה של אתחול ו-Ramdisk התאוששות
(BOARD_USES_RECOVERY_AS_BOOT := true ).רדיסק שחזור משמשת רק לאתחול לצורך שחזור. |
מכילה ליבה (kernel) רגילה של אתחול ו-Ramdisk התאוששות
(BOARD_USES_RECOVERY_AS_BOOT := true ). רדיסק לשחזור משמשת לאתחול גם בשחזור וגם ב-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)
...