In Android 10 und 11
Ramdisk der ersten Phase
enthält das Initialisierungs-Binärprogramm der ersten Phase, das Early Mounting wie angegeben durchführt.
durch fstab-Einträge) und fstab-Dateien des Anbieters. Wie bei Android 9 und niedriger
system.img
enthält den Inhalt von $TARGET_ROOT_OUT
.)
Bei Geräten mit einer Boot-RAMdisk (nicht A/B) ist die erste Initialisierungsphase eine statische ausführbare Datei unter
/init
. Diese Geräte stellensystem.img
als/system
bereit, Führen Sie dann einen Switch-Root-Vorgang aus, um die Bereitstellung unter/system
auf/
zu verschieben. Der Inhalt der Ramdisk wird nach Abschluss der Bereitstellung freigegeben.Bei Geräten, die die Wiederherstellung als RAM-Disk nutzen, befindet sich die erste Initialisierungsphase
/init
innerhalb der Wiederherstellungs-RAMdisk. Diese Geräte wechseln zuerst den Root-Zugriff auf/first_stage_ramdisk
, um die Wiederherstellungskomponenten aus der Umgebung zu entfernen gehen Sie genauso vor wie bei Geräten mit Boot-ramdisk (d. h. stellen Siesystem.img
als/system
ändern, wechsle den Root, um diese Bereitstellung auf/
zu verschieben, und gib frei von Ramdisk nach der Bereitstellung). Wennandroidboot.force_normal_boot=1
gleich in der Kernel-Befehlszeile (oder bootconfig von Android) ab 12), starten die Geräte normal (unter Android) anstatt im Wiederherstellungsmodus zu starten.
Nach Abschluss der ersten init-Phase wird /system/bin/init
mit dem
Argument selinux_setup
, um SELinux zu kompilieren und auf dem System zu laden. Schließlich:
init führt /system/bin/init
noch einmal mit dem Argument second_stage
aus. In dieser
wird die Hauptphase von init ausgeführt und der Bootvorgang wird mit der
init.rc
-Scripts.
In den folgenden Abschnitten werden die Unterschiede bei Partitionslayouts für Nicht-A/B-Dateien beschrieben. vor und nach Android 10.
Partitionslayouts (Nicht-A/B-Geräte)
In den folgenden Abschnitten werden die Unterschiede bei Partitionslayouts für Nicht-A/B-Dateien beschrieben. vor und nach Android 10.
boot.img
Ramdisk (Android 8.x und niedriger) |
System als Root (Android 9) |
Ramdisk (Android 10 und 11). |
---|---|---|
Enthält einen Kernel und ein ramdisk.img -/ - init.rc - init - etc -> /system/etc - system/ (mount point) - vendor/ (mount point) - odm/ (mount point) ... |
Enthält nur einen normalen Boot-Kernel. | Enthält einen Kernel und ramdisk.img -/ - init - vendor fstab files - system/ (mount point) - vendor/ (mount point) - odm/ (mount point) ... |
Wiederherstellung.img
Enthält einen Wiederherstellungs-Kernel und einen Wiederherstellungs-ramdisk.img
system.img
Ramdisk (Android 8.x und niedriger) |
System als Root (Android 9) |
Ramdisk (Android 10 und 11). |
---|---|---|
Enthält ein system.img -/ - bin/ - etc - vendor -> /vendor - ... |
Enthält den zusammengeführten Inhalt von system.img -/ - init.rc - init - etc -> /system/etc - system/ - bin/ - etc/ - vendor -> /vendor - ... - vendor/ (mount point) - odm/ (mount point) ... |
Enthält den zusammengeführten Inhalt von system.img -/ - init.rc - init -> /system/bin/init - etc -> /system/etc - system/ - bin/ - etc/ - vendor -> /vendor - ... - vendor/ (mount point) - odm/ (mount point) ... |
Partitionslayouts (A/B-Geräte)
In den folgenden Abschnitten werden die Unterschiede bei Partitionslayouts für A/B-Geräte beschrieben. vor und nach Android 10.
boot.img
System als Root (Android 9) |
Ramdisk (Android 10 und 11). |
---|---|
Enthält normalen Boot-Kernel und Recovery-ramdisk
(BOARD_USES_RECOVERY_AS_BOOT := true ).Recovery-ramdisk wird nur zum Starten der Wiederherstellung verwendet. |
Enthält normalen Boot-Kernel und Recovery-ramdisk
(BOARD_USES_RECOVERY_AS_BOOT := true ) Wiederherstellungs-RAMdisk zum Starten sowohl bei der Wiederherstellung als auch bei 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
Enthält den zusammengeführten Inhalt von $TARGET_SYSTEM_OUT
und $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)
...