partycje dysku RAM;

W Androidzie 10 i 11 pierwszy etap ramdysku zawiera binarny plik init pierwszego etapu (który wykonuje wczesne montowanie zgodnie z wpisami fstab) i pliki fstab dostawcy. (Podobnie jak w przypadku Androida 9 i starszych wersji, system.img zawiera zawartość $TARGET_ROOT_OUT).

  • W przypadku urządzeń z boot-ramdiskiem (bez partycji A/B) pierwszy etap inicjowania to statyczny plik wykonywalny znajdujący się w /init. Urządzenia te montują system.img jako /system, a następnie wykonują operację zmiany katalogu głównego, aby przenieść punkt montowania z /system do /. Po zakończeniu montowania zawartość dysku RAM jest zwalniana.

  • W przypadku urządzeń, które używają odzyskiwania jako dysku RAM, pierwszy etap inicjowania znajduje się w /init na dysku RAM odzyskiwania. Najpierw przełączają one katalog główny na /first_stage_ramdisk, aby usunąć z otoczenia komponenty przywracania, a potem postępują tak samo jak urządzenia z boot-ramdiskiem (czyli montują system.img jako /system, przełączają katalog główny, aby przenieść ten montaż do /, i zwalniają zawartość ramdisku po zamontowaniu). Jeśli androidboot.force_normal_boot=1 znajduje się w wierszu poleceń jądra (lub w konfiguracji rozruchu od Androida 12), urządzenia uruchamiają się normalnie (w Androidzie), a nie w trybie odzyskiwania.

Po zakończeniu inicjowania pierwszego etapu wykonuje polecenie /system/bin/init z argumentem selinux_setup, aby skompilować i wczytać SELinux do systemu. Na koniec funkcja init wykonuje /system/bin/init ponownie z argumentem second_stage. W tym momencie uruchamia się główna faza procesu inicjowania, która kontynuuje proces rozruchu za pomocą skryptów init.rc.

W kolejnych sekcjach opisujemy różnice w układach partycji na urządzeniach innych niż A/B przed Androidem 10 i po nim.

Układy partycji (urządzenia inne niż A/B)

W kolejnych sekcjach opisujemy różnice w układach partycji na urządzeniach innych niż A/B przed Androidem 10 i po nim.

boot.img

Ramdisk
(Android 8.x i starszy)
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 normalne jądro rozruchowe.

Zawiera jądro i ramdisk.img.

ramdisk.img
  -/
    - init
    - vendor fstab files
    - system/ (mount point)
    - vendor/ (mount point)
    - odm/ (mount point)
    ...
    

recovery.img

Zawiera jądro odzyskiwania i środowisko odzyskiwania ramdisk.img

system.img

Ramdisk
(Android 8.x i starszy)
System jako root
(Android 9)
Ramdisk
(Android 10 i 11)

Zawiera system.img.

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

Zawiera połączone 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 połączone 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 sekcjach poniżej znajdziesz szczegółowe informacje o różnicach w układach partycji na urządzeniach A/B przed Androidem 10 i po nim.

boot.img

System jako root
(Android 9)
Ramdisk
(Android 10 i 11)
Zawiera jądro normalnego rozruchu i dysk RAM odzyskiwania (BOARD_USES_RECOVERY_AS_BOOT := true).

Dysk RAM odzyskiwania jest używany tylko do rozruchu w trybie odzyskiwania.
Zawiera normalne jądro rozruchowe i dysk RAM do przywracania (BOARD_USES_RECOVERY_AS_BOOT := true).

Dysk RAM do przywracania jest używany do uruchamiania zarówno trybu przywracania, 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 połączone treści z $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)
    ...