Partycje Ramdisk

W Androidzie 10 i 11 dysk Ramdisk pierwszego etapu zawiera plik binarny init pierwszego etapu (wykonuje wczesne podłączanie zgodnie z wymaganiami według wpisów fstab) i plików fstab dostawcy. (Tak jak w Androidzie 9 i starszych system.img zawiera zawartość $TARGET_ROOT_OUT.)

  • W przypadku urządzeń z dyskiem rozruchowym (innym niż A/B) inicjowanie pierwszego etapu jest statyczne plik wykonywalny znajdujący się pod adresem /init. Te urządzenia podłączają system.img jako /system. a następnie wykonaj operację przełącznika poziomu głównego, aby przesunąć uchwyt w miejscu /system do /. Po zakończeniu podłączania zawartość dysku RAM jest zwalniana.

  • W przypadku urządzeń używających odzyskiwania jako dysku RAM, inicjowanie pierwszego etapu znajduje się /init w dysku pamięci RAM przywracania. Te urządzenia najpierw przełączają poziom główny na /first_stage_ramdisk, aby usunąć ze środowiska komponenty przywracania, wykonaj te same czynności co w przypadku urządzeń z dyskiem rozruchowym (czyli system.img jako /system, przełącz się na użytkownika root, aby przenieść ten uchwyt do /, i uwolnij zawartości pamięci RAM po podłączeniu). Jeśli androidboot.force_normal_boot=1 to w wierszu poleceń jądra (lub plik rozruchowy z Androida) 12 i nowszych), urządzenia uruchamiają się normalnie (w przypadku Androida). zamiast uruchamiać tryb przywracania.

Po zakończeniu pierwszego etapu wykonuje on polecenie /system/bin/init, selinux_setup do skompilowania i wczytania SELinux w systemie. I na koniec, init ponownie wykonuje polecenie /system/bin/init z argumentem second_stage. W tym miejscu gdy główna faza inicjowania jest uruchamiana i kontynuowana jest za pomocą init.rc skryptu.

W poniższych sekcjach opisaliśmy różnice w układach partycji innych niż A/B na urządzeniach z Androidem 10 i nowszym.

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

W poniższych sekcjach opisaliśmy różnice w układach partycji innych niż A/B na urządzeniach z Androidem 10 i nowszym.

obraz rozruchowy

Ramdisk
(Android 8.x lub 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)
    ...
    

odzyskiwania.obraz

Zawiera jądro przywracania i system przywracania ramdisk.img

obraz systemu.

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

Zawiera system.img.

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

Zawiera scaloną treść elementów $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ą treść elementó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)
    ...
    

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

W poniższych sekcjach znajdziesz szczegółowe informacje o różnicach w układach partycji w przypadku urządzeń A/B przed i po Androidzie 10.

obraz rozruchowy

System jako root
(Android 9)
Ramdisk
(Android 10 i 11)
Zawiera normalne jądro rozruchowe i dysk pamięci masowej przywracania (BOARD_USES_RECOVERY_AS_BOOT := true).

dysk pamięci RAM służy wyłącznie do uruchamiania systemu przywracania.
Zawiera normalne jądro rozruchowe i dysk pamięci masowej przywracania (BOARD_USES_RECOVERY_AS_BOOT := true).

dysk pamięci RAM jest używany do uruchamiania zarówno w systemie odzyskiwania, jak i w systemie 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)
    ...
    

obraz systemu.

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