In Android 10 e 11,
il ramdisk della prima fase
contiene il binario init della prima fase (che esegue il montaggio iniziale come specificato
dalle voci fstab) e i file fstab del fornitore. Come in Android 9 e versioni precedenti,
system.img contiene i contenuti di $TARGET_ROOT_OUT.
Per i dispositivi con un boot-ramdisk (non A/B), l'inizializzazione della prima fase è un eseguibile statico che si trova in
/init. Questi dispositivi montanosystem.imgcome/system, poi eseguono un'operazione di cambio root per spostare il montaggio in/systemsu/. I contenuti del ramdisk vengono liberati al termine del montaggio.Per i dispositivi che utilizzano il ripristino come ramdisk, l'inizializzazione della prima fase si trova in
/initall'interno del ramdisk di ripristino. Questi dispositivi cambiano prima la root in/first_stage_ramdiskper rimuovere i componenti di ripristino dall'ambiente, poi procedono come i dispositivi con un boot-ramdisk (ovvero montanosystem.imgcome/system, cambiano la root per spostare il montaggio in/e liberano i contenuti del ramdisk dopo il montaggio). Seandroidboot.force_normal_boot=1è presente nella riga di comando del kernel (o in bootconfig da Android 12 in poi), i dispositivi si avviano normalmente (in Android) anziché in modalità di ripristino.
Al termine dell'inizializzazione della prima fase, esegue /system/bin/init con l'argomento selinux_setup per compilare e caricare SELinux sul sistema. Infine,
init esegue di nuovo /system/bin/init con l'argomento second_stage. A questo
punto, viene eseguita la fase principale di init e il processo di avvio continua utilizzando gli
script init.rc.
Le sezioni seguenti descrivono in dettaglio le differenze nei layout delle partizioni per i dispositivi non A/B prima e dopo Android 10.
Layout delle partizioni (dispositivi non A/B)
Le sezioni seguenti descrivono in dettaglio le differenze nei layout delle partizioni per i dispositivi non A/B prima e dopo Android 10.
boot.img
| Ramdisk (Android 8.x e versioni precedenti)  | 
    Sistema come root (Android 9)  | 
    Ramdisk (Android 10 e 11)  | 
  
|---|---|---|
Contiene un kernel e un  
ramdisk.img
  -/
    - init.rc
    - init
    - etc -> /system/etc
    - system/ (mount point)
    - vendor/ (mount point)
    - odm/ (mount point)
    ...
     | 
   Contiene solo un kernel di avvio normale. | Contiene un kernel e  
ramdisk.img
  -/
    - init
    - vendor fstab files
    - system/ (mount point)
    - vendor/ (mount point)
    - odm/ (mount point)
    ...
     | 
  
recovery.img
Contiene un kernel di ripristino e un ramdisk.img di ripristino
system.img
| Ramdisk (Android 8.x e versioni precedenti)  | 
    Sistema come root (Android 9)  | 
    Ramdisk (Android 10 e 11)  | 
  
|---|---|---|
Contiene un  
system.img
  -/
    - bin/
    - etc
    - vendor -> /vendor
    - ...
    | 
   Contiene i contenuti uniti di  
system.img
  -/
    - init.rc
    - init
    - etc -> /system/etc
    - system/
      - bin/
      - etc/
      - vendor -> /vendor
      - ...
    - vendor/ (mount point)
    - odm/ (mount point)
    ...
     | 
   Contiene i contenuti uniti di  
system.img
  -/
    - init.rc
    - init -> /system/bin/init
    - etc -> /system/etc
    - system/
      - bin/
      - etc/
      - vendor -> /vendor
      - ...
    - vendor/ (mount point)
    - odm/ (mount point)
    ...
     | 
  
Layout delle partizioni (dispositivi A/B)
Le sezioni seguenti descrivono in dettaglio le differenze nei layout delle partizioni per i dispositivi A/B prima e dopo Android 10.
boot.img
| Sistema come root (Android 9)  | 
    Ramdisk (Android 10 e 11)  | 
  
|---|---|
Contiene il kernel di avvio normale e recovery-ramdisk
   (BOARD_USES_RECOVERY_AS_BOOT := true).Recovery-ramdisk viene utilizzato solo per l'avvio in modalità di ripristino.  | 
   Contiene il kernel di avvio normale e recovery-ramdisk
   (BOARD_USES_RECOVERY_AS_BOOT := true). Recovery-ramdisk viene utilizzato per l'avvio sia in modalità di recupero che in 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
Contiene i contenuti uniti di $TARGET_SYSTEM_OUT e $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)
    ...