Partycje Ramdisk

.

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 montujemy system.img jako /system, przełączamy root, aby przenieść ten mount do /, i zwalniamy zawartość ramdisk po zamontowaniu). Jeśli androidboot.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.

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.

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.

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

Zawiera scalone treści z plików $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)
    ...
    

Zawiera scalone treści z plików $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)
    ...
    

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$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)
    ...