В Android 10 и 11 ramdisk первого этапа содержит двоичный файл init первого этапа (который выполняет раннее монтирование, как указано в записях fstab) и файлы fstab поставщика. (Как и в Android 9 и ниже, system.img содержит содержимое $TARGET_ROOT_OUT .)
Для устройств с загрузочным RAM-диском (не A/B) первый этап init представляет собой статический исполняемый файл, расположенный в
/init. Эти устройства монтируютsystem.imgкак/system, а затем выполняют операцию switch root для перемещения монтирования из/systemв/. Содержимое RAM-диска освобождается после завершения монтирования.Для устройств, использующих восстановление в качестве RAM-диска, начальный этап init находится в каталоге
/initна RAM-диске восстановления. Эти устройства сначала переключаются в корневой каталог/first_stage_ramdisk, чтобы удалить компоненты восстановления из среды, а затем действуют так же, как устройства с загрузочным RAM-диском (то есть монтируютsystem.imgкак/system, переключаются в корневой каталог, чтобы переместить смонтированный файл в/, и освобождают содержимое RAM-диска после монтирования). Если в командной строке ядра (или в bootconfig, начиная с Android 12) присутствуетandroidboot.force_normal_boot=1, устройства загружаются в обычном режиме (в Android), а не в режиме восстановления.
 После завершения первого этапа init выполняется /system/bin/init с аргументом selinux_setup для компиляции и загрузки SELinux в систему. Наконец, init снова выполняет /system/bin/init с аргументом second_stage . В этот момент запускается основная фаза init, которая продолжает процесс загрузки с помощью скриптов init.rc
В следующих разделах подробно описаны различия в разметке разделов для устройств, отличных от A/B, до и после Android 10.
Схемы разделов (устройства, отличные от A/B)
В следующих разделах подробно описаны различия в разметке разделов для устройств, отличных от A/B, до и после Android 10.
boot.img
|  Рамдиск (Android 8.x и ниже)  |  Система как root (Андроид 9)  |  Рамдиск (Android 10 и 11)  | 
|---|---|---|
 Содержит ядро и  
ramdisk.img
  -/
    - init.rc
    - init
    - etc -> /system/etc
    - system/ (mount point)
    - vendor/ (mount point)
    - odm/ (mount point)
    ...
     | Содержит только обычное загрузочное ядро. |  Содержит ядро и  
ramdisk.img
  -/
    - init
    - vendor fstab files
    - system/ (mount point)
    - vendor/ (mount point)
    - odm/ (mount point)
    ...
     | 
recovery.img
 Содержит ядро восстановления и ramdisk.img восстановления.
system.img
|  Рамдиск (Android 8.x и ниже)  |  Система как root (Андроид 9)  |  Рамдиск (Android 10 и 11)  | 
|---|---|---|
 Содержит  
system.img
  -/
    - bin/
    - etc
    - vendor -> /vendor
    - ...
    |  Содержит объединенное содержимое  
system.img
  -/
    - init.rc
    - init
    - etc -> /system/etc
    - system/
      - bin/
      - etc/
      - vendor -> /vendor
      - ...
    - vendor/ (mount point)
    - odm/ (mount point)
    ...
     |  Содержит объединенное содержимое  
system.img
  -/
    - init.rc
    - init -> /system/bin/init
    - etc -> /system/etc
    - system/
      - bin/
      - etc/
      - vendor -> /vendor
      - ...
    - vendor/ (mount point)
    - odm/ (mount point)
    ...
     | 
Схемы разделов (устройства A/B)
В следующих разделах подробно описаны различия в разметке разделов для устройств A/B до и после Android 10.
boot.img
|  Система как root (Андроид 9)  |  Рамдиск (Android 10 и 11)  | 
|---|---|
 Содержит нормальное загрузочное ядро и RAM-диск восстановления ( BOARD_USES_RECOVERY_AS_BOOT := true ).Recovery-ramdisk используется только для загрузки в режим восстановления.  |  Содержит нормальное загрузочное ядро и RAM-диск восстановления ( BOARD_USES_RECOVERY_AS_BOOT := true ).Recovery-ramdisk используется для загрузки как в режим восстановления, так и в 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)
    ...
     | 
system.img
 Содержит объединенное содержимое $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)
    ...