partycje dysku RAM;

W Androidzie 10 i 11 dysk RAM pierwszego etapu zawiera binarny plik init pierwszego etapu (który wykonuje wczesne montowanie zgodnie z wpisami fstab) oraz pliki fstab dostawcy. (Podobnie jak w Androidzie 9 i starszych wersjach, system.img zawiera zawartość $TARGET_ROOT_OUT.)

  • W przypadku urządzeń z dyskiem RAM rozruchowym (nie A/B) init pierwszego etapu jest statycznym plikiem wykonywalnym znajdującym się w lokalizacji /init. Te urządzenia montują system.img jako /system, a następnie wykonują operację przełączenia katalogu głównego, aby przenieść montowanie z /system do /. Po zakończeniu montowania zawartość dysku RAM jest zwalniana.

  • W przypadku urządzeń, które używają odzyskiwania jako dysku RAM, init pierwszego etapu znajduje się w lokalizacji /init na dysku RAM odzyskiwania. Te urządzenia najpierw przełączają katalog główny na /first_stage_ramdisk aby usunąć komponenty odzyskiwania ze środowiska, a następnie postępują tak samo jak urządzenia z dyskiem RAM rozruchowym (czyli montują system.img jako /system, przełączają katalog główny, aby przenieść to montowanie do /, i zwalniają zawartość dysku RAM po montowaniu). Jeśli w wierszu poleceń jądra (lub w konfiguracji rozruchu w Androidzie 12 i nowszych wersjach) znajduje się androidboot.force_normal_boot=1, urządzenia uruchamiają się normalnie (w Androidzie), a nie w trybie odzyskiwania.

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

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

Układy partycji (urządzenia nie A/B)

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

boot.img

Dysk RAM
(Android 8.x i starsze wersje)
System jako katalog główny
(Android 9)
Dysk RAM
(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 ramdisk.img odzyskiwania.

system.img

Dysk RAM
(Android 8.x i starsze wersje)
System jako katalog główny
(Android 9)
Dysk RAM
(Android 10 i 11)

Zawiera system.img.

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

Zawiera scaloną zawartość $TARGET_SYSTEM_OUT i $TARGET_ROOT_OUT.

system.img
  -/
    - init.rc
    - init
    - etc -> /system/etc
    - system/
      - bin/
      - etc/
      - vendor -> /vendor
      - ...
    - vendor/ (mount point)
    - odm/ (mount point)
    ...
    

Zawiera scaloną zawartość $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)
    ...
    

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

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

boot.img

System jako katalog główny
(Android 9)
Dysk RAM
(Android 10 i 11)
Zawiera normalne jądro rozruchowe i dysk RAM odzyskiwania (BOARD_USES_RECOVERY_AS_BOOT := true).

Dysk RAM odzyskiwania służy tylko do uruchamiania w trybie odzyskiwania.
Zawiera normalne jądro rozruchowe i dysk RAM odzyskiwania (BOARD_USES_RECOVERY_AS_BOOT := true).

Dysk RAM odzyskiwania służy do uruchamiania zarówno w trybie odzyskiwania, jak i w Androidzie.
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 scaloną zawartość $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)
    ...