מחיצות Ramdisk

באנדרואיד 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 (כלומר, mount system.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 .

ramdisk.img
  -/
    - init.rc
    - init
    - etc -> /system/etc
    - system/ (mount point)
    - vendor/ (mount point)
    - odm/ (mount point)
    ...
    
מכיל גרעין אתחול רגיל בלבד.

מכיל קרנל ו- ramdisk.img .

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 .

system.img
  -/
    - bin/
    - etc
    - vendor -> /vendor
    - ...
   

מכיל את התוכן הממוזג של $TARGET_SYSTEM_OUT ו- $TARGET_ROOT_OUT .

system.img
  -/
    - init.rc
    - init
    - etc -> /system/etc
    - system/
      - bin/
      - etc/
      - vendor -> /vendor
      - ...
    - vendor/ (mount point)
    - odm/ (mount point)
    ...
    

מכיל את התוכן הממוזג של $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)
    ...
    

פריסות מחיצות (התקני 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)
    ...