W Androidzie 10 i 11 pierwsza faza pamięci RAM zawiera pierwszy etap binarnego init (który wykonuje wczesne montowanie zgodnie z informacjami w plikach fstab) oraz pliki fstab producenta. (Tak jak w Androidzie 9 i starszych wersjach system.img
zawiera zawartość $TARGET_ROOT_OUT
).
W przypadku urządzeń z boot-ramdisk (nie A/B) pierwszy etap inicjalizacji to statyczny plik wykonywalny znajdujący się w folderze
/init
. Te urządzenia montująsystem.img
jako/system
, a następnie wykonują operację przełączenia katalogu, aby przenieść punkt zamontowania/system
do/
. Po zakończeniu podłączania zawartość dysku RAM jest zwalniana.W przypadku urządzeń, które używają dysku odzyskiwania jako dysku RAM, pierwszy etap inicjalizacji znajduje się w katalogu
/init
na dysku RAM odzyskiwania. Na tych urządzeniach najpierw przełączamy root na/first_stage_ramdisk
, aby usunąć komponenty odzyskiwania z otoczenia, a potem postępujemy tak samo jak w przypadku urządzeń z boot-ramdisk (czyli montujemysystem.img
jako/system
, przełączamy root, aby przenieść ten mount do/
, i zwalniamy zawartość ramdisk po zamontowaniu). Jeśliandroidboot.force_normal_boot=1
jest obecny na linii poleceń jądra (lub w bootconfig od Androida 12), urządzenia uruchamiają się normalnie (w Androidzie), a nie w trybie odzyskiwania.
Po zakończeniu pierwszego etapu inicjalizacji uruchamia się /system/bin/init
z argumentem selinux_setup
, aby skompilować i wczytać SELinux do systemu. Na koniec funkcja init ponownie wykonuje funkcję /system/bin/init
, podając jej argument second_stage
. W tym momencie uruchamia się główna faza inicjalizacji i kontynuuje proces uruchamiania za pomocą skryptów init.rc
.
W poniższych sekcjach znajdziesz informacje o różnicach w układach partycji na urządzeniach innych niż A/B w okresie sprzed Androida 10 i późniejszych.
Układy partycji (urządzenia inne niż A/B)
W poniższych sekcjach znajdziesz informacje o różnicach w układach partycji na urządzeniach innych niż A/B w okresie sprzed Androida 10 i późniejszych.
boot.img
Ramdisk (Android 8.x i starsze) |
System jako root (Android 9) |
Ramdisk (Android 10 i 11) |
---|---|---|
Zawiera jądro i ramdisk.img -/ - init.rc - init - etc -> /system/etc - system/ (mount point) - vendor/ (mount point) - odm/ (mount point) ... |
zawiera tylko zwykłe jądro rozruchowe. | Zawiera jądro i ramdisk.img -/ - init - vendor fstab files - system/ (mount point) - vendor/ (mount point) - odm/ (mount point) ... |
odzyskiwania.obraz
Zawiera jądro odzyskiwania i element odzyskiwania ramdisk.img
obraz systemu.
Ramdisk (Android 8.x i starsze) |
System jako root (Android 9) |
Ramdisk (Android 10 i 11) |
---|---|---|
Zawiera system.img -/ - bin/ - etc - vendor -> /vendor - ... |
Zawiera scalone treści z plików system.img -/ - init.rc - init - etc -> /system/etc - system/ - bin/ - etc/ - vendor -> /vendor - ... - vendor/ (mount point) - odm/ (mount point) ... |
Zawiera scalone treści z plików system.img -/ - init.rc - init -> /system/bin/init - etc -> /system/etc - system/ - bin/ - etc/ - vendor -> /vendor - ... - vendor/ (mount point) - odm/ (mount point) ... |
Układy partycji (urządzenia A/B)
W następnych sekcjach opisaliśmy szczegółowo różnice w rozmieszczeniu partycji na urządzeniach z Androidem 10 i wcześniej.
boot.img
System jako root (Android 9) |
Ramdisk (Android 10 i 11) |
---|---|
Zawiera normalne jądro rozruchowe i pamięć RAM w trybie odzyskiwania (BOARD_USES_RECOVERY_AS_BOOT := true ).Pamięć RAM w trybie odzyskiwania służy tylko do uruchamiania trybu odzyskiwania. |
Zawiera zwykłe jądro rozruchowe i recovery-ramdisk (BOARD_USES_RECOVERY_AS_BOOT := true ). Recovery-ramdisk służy do uruchamiania zarówno trybu odzyskiwania, jak i Androida. 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
Zawiera scalone treści plików $TARGET_SYSTEM_OUT
i $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)
...