קל לארגן דפים בעזרת אוספים
אפשר לשמור ולסווג תוכן על סמך ההעדפות שלך.
ב-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.
דוגמאות התוכן והקוד שבדף הזה כפופות לרישיונות המפורטים בקטע רישיון לתוכן. Java ו-OpenJDK הם סימנים מסחריים או סימנים מסחריים רשומים של חברת Oracle ו/או של השותפים העצמאיים שלה.
עדכון אחרון: 2025-07-27 (שעון UTC).
[[["התוכן קל להבנה","easyToUnderstand","thumb-up"],["התוכן עזר לי לפתור בעיה","solvedMyProblem","thumb-up"],["סיבה אחרת","otherUp","thumb-up"]],[["חסרים לי מידע או פרטים","missingTheInformationINeed","thumb-down"],["התוכן מורכב מדי או עם יותר מדי שלבים","tooComplicatedTooManySteps","thumb-down"],["התוכן לא עדכני","outOfDate","thumb-down"],["בעיה בתרגום","translationIssue","thumb-down"],["בעיה בדוגמאות/בקוד","samplesCodeIssue","thumb-down"],["סיבה אחרת","otherDown","thumb-down"]],["עדכון אחרון: 2025-07-27 (שעון UTC)."],[],[],null,["# Ramdisk partitions\n\n| **Note:** This page applies to Android 11 and lower. For Android 12 and greater, see [Generic boot\n| partition](/docs/core/architecture/bootloader/partitions/generic-boot).\n\nIn Android 10 and 11,\nthe first stage ramdisk\ncontains the first stage init binary (which performs early mounting as specified\nby fstab entries) and vendor fstab files. (As in Android 9 and lower,\n`system.img` contains the contents of `$TARGET_ROOT_OUT`.)\n\n- For devices with a boot-ramdisk (non-A/B), first stage init is a static\n executable located at `/init`. These devices mount `system.img` as `/system`,\n then perform a switch root operation to move the mount at `/system` to `/`.\n The contents of the ramdisk are freed after mounting has completed.\n\n- For devices that use recovery as a ramdisk, first stage init is located at\n `/init` within the recovery ramdisk. These devices first switch root to\n `/first_stage_ramdisk` to remove the recovery components from the environment,\n then proceed the same as devices with a boot-ramdisk (that is, mount\n `system.img` as `/system`, switch root to move that mount to `/`, and free\n ramdisk contents after mounting). If `androidboot.force_normal_boot=1` is\n present in the kernel command line (or bootconfig from Android\n 12 onward), devices boot normally (into Android)\n instead of booting into recovery mode.\n\nAfter first stage init finishes, it executes `/system/bin/init` with the\n`selinux_setup` argument to compile and load SELinux onto the system. Finally,\ninit executes `/system/bin/init` again with the `second_stage` argument. At this\npoint, the main phase of init runs and continues the boot process using the\n`init.rc` scripts.\n| **Note:** Android 10 replaces ramdisk contents with a first stage init executable, which is incompatible with how previous ramdisks booted the system.\n\nThe following sections detail differences in partition layouts for non-A/B\ndevices before and after Android 10.\n\nPartition layouts (non-A/B devices)\n-----------------------------------\n\nThe following sections detail differences in partition layouts for non-A/B\ndevices before and after Android 10.\n\n### boot.img\n\n| Ramdisk *(Android 8.x and lower)* | System as root *(Android 9)* | Ramdisk *(Android 10 and 11)* |\n|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|-------------------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| Contains a kernel and a `ramdisk.img`. ``` ramdisk.img -/ - init.rc - init - etc -\u003e /system/etc - system/ (mount point) - vendor/ (mount point) - odm/ (mount point) ... ``` | Contains a normal boot kernel only. | Contains a kernel and `ramdisk.img`. ``` ramdisk.img -/ - init - vendor fstab files - system/ (mount point) - vendor/ (mount point) - odm/ (mount point) ... ``` |\n\n### recovery.img\n\nContains a recovery kernel and a recovery `ramdisk.img`\n\n### system.img\n\n| Ramdisk *(Android 8.x and lower)* | System as root *(Android 9)* | Ramdisk *(Android 10 and 11)* |\n|---------------------------------------------------------------------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| Contains a `system.img`. ``` system.img -/ - bin/ - etc - vendor -\u003e /vendor - ... ``` | Contains the merged contents of `$TARGET_SYSTEM_OUT` and `$TARGET_ROOT_OUT`. ``` system.img -/ - init.rc - init - etc -\u003e /system/etc - system/ - bin/ - etc/ - vendor -\u003e /vendor - ... - vendor/ (mount point) - odm/ (mount point) ... ``` | Contains the merged contents of `$TARGET_SYSTEM_OUT` and `$TARGET_ROOT_OUT`. ``` system.img -/ - init.rc - init -\u003e /system/bin/init - etc -\u003e /system/etc - system/ - bin/ - etc/ - vendor -\u003e /vendor - ... - vendor/ (mount point) - odm/ (mount point) ... ``` |\n\nPartition layouts (A/B devices)\n-------------------------------\n\nThe following sections detail differences in partition layouts for A/B devices\nbefore and after Android 10.\n\n### boot.img\n\n| System as root *(Android 9)* | Ramdisk *(Android 10 and 11)* |\n|------------------------------------------------------------------------------------------------------------------------------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| Contains normal boot kernel and recovery-ramdisk (`BOARD_USES_RECOVERY_AS_BOOT := true`). Recovery-ramdisk is used only to boot into recovery. | Contains normal boot kernel and recovery-ramdisk (`BOARD_USES_RECOVERY_AS_BOOT := true`). Recovery-ramdisk is used to boot into both recovery and Android. ``` ramdisk.img -/ - init -\u003e /system/bin/init - first_stage_ramdisk - vendor fstab files - etc -\u003e /system/etc - system/ (mount point) - vendor/ (mount point) - odm/ (mount point) ... ``` |\n\n### system.img\n\nContains the merged contents of `$TARGET_SYSTEM_OUT` and `$TARGET_ROOT_OUT`. \n\n system.img\n -/\n - init.rc\n - init -\u003e /system/bin/init\n - etc -\u003e /system/etc\n - system/\n - bin/\n - etc/\n - vendor -\u003e /vendor\n - ...\n - vendor/ (mount point)\n - odm/ (mount point)\n ..."]]