Ramdisk Bölümleri

Android 10 ve 11'de, ilk aşama ramdiski, ilk aşama init ikili dosyasını (fstab girişleri tarafından belirtildiği gibi erken montajı gerçekleştirir) ve satıcı fstab dosyalarını içerir. (Android 9 ve önceki sürümlerde olduğu gibi system.img , $TARGET_ROOT_OUT içeriğini içerir.)

  • Önyükleme ramdiski (A/B olmayan) aygıtlar için, ilk aşama init, /init konumunda bulunan statik bir yürütülebilir dosyadır. Bu aygıtlar system.img dosyasını /system olarak bağlar, ardından /system konumundaki bağlantıyı / konumuna taşımak için bir anahtar kök işlemi gerçekleştirir. Ramdiskin içeriği montaj tamamlandıktan sonra serbest bırakılır.

  • Kurtarmayı ramdisk olarak kullanan aygıtlar için, ilk aşama init, kurtarma ramdiski içindeki /init konumunda bulunur. Bu aygıtlar önce kurtarma bileşenlerini ortamdan kaldırmak için kökü /first_stage_ramdisk olarak değiştirir, ardından önyükleme-ramdisk'i olan aygıtlarla aynı işlemi sürdürür (yani, system.img /system olarak bağlayın, bu bağlantıyı / ye taşımak için kökü değiştirin ve montajdan sonra ücretsiz ramdisk içeriği). Çekirdek komut satırında (veya Android 12'den itibaren bootconfig) androidboot.force_normal_boot=1 mevcutsa, cihazlar kurtarma moduna önyükleme yapmak yerine normal şekilde (Android'e) önyükleme yapar.

İlk aşama init tamamlandıktan sonra, SELinux'u derlemek ve sisteme yüklemek için /system/bin/init selinux_setup argümanıyla çalıştırır. Son olarak init, /system/bin/init second_stage argümanıyla yeniden çalıştırır. Bu noktada init'in ana aşaması init.rc betiklerini kullanarak önyükleme işlemini çalıştırır ve devam ettirir.

Aşağıdaki bölümlerde, Android 10'dan önceki ve sonraki A/B olmayan cihazlar için bölüm düzenlerindeki farklılıklar ayrıntılı olarak verilmektedir.

Bölüm düzenleri (A/B olmayan cihazlar)

Aşağıdaki bölümlerde, Android 10'dan önceki ve sonraki A/B olmayan cihazlar için bölüm düzenlerindeki farklılıklar ayrıntılı olarak verilmektedir.

boot.img

Ramdisk
(Android 8.x ve altı)
Kök olarak sistem
(Android9)
Ramdisk
(Android 10 ve 11)

Bir çekirdek ve bir ramdisk.img içerir.

ramdisk.img
  -/
    - init.rc
    - init
    - etc -> /system/etc
    - system/ (mount point)
    - vendor/ (mount point)
    - odm/ (mount point)
    ...
    
Yalnızca normal bir önyükleme çekirdeği içerir.

Bir çekirdek ve ramdisk.img içerir.

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

Recovery.img

Bir kurtarma çekirdeği ve bir kurtarma ramdisk.img içerir

sistem.img

Ramdisk
(Android 8.x ve altı)
Kök olarak sistem
(Android9)
Ramdisk
(Android 10 ve 11)

Bir system.img içerir.

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

$TARGET_SYSTEM_OUT ve $TARGET_ROOT_OUT öğelerinin birleştirilmiş içeriğini içerir.

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

$TARGET_SYSTEM_OUT ve $TARGET_ROOT_OUT öğelerinin birleştirilmiş içeriğini içerir.

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

Bölüm düzenleri (A/B cihazları)

Aşağıdaki bölümlerde, Android 10'dan önceki ve sonraki A/B cihazları için bölüm düzenlerindeki farklılıklar ayrıntılı olarak verilmektedir.

boot.img

Kök olarak sistem
(Android9)
Ramdisk
(Android 10 ve 11)
Normal önyükleme çekirdeğini ve kurtarma ramdiskini içerir ( BOARD_USES_RECOVERY_AS_BOOT := true ).

Recovery-ramdisk yalnızca kurtarma işlemine önyükleme yapmak için kullanılır.
Normal önyükleme çekirdeğini ve kurtarma ramdiskini içerir ( BOARD_USES_RECOVERY_AS_BOOT := true ).

Recovery-ramdisk, hem kurtarmaya hem de Android'e önyükleme yapmak için kullanılır.
ramdisk.img
  -/
    - init -> /system/bin/init
    - first_stage_ramdisk
       - vendor fstab files
    - etc -> /system/etc
    - system/ (mount point)
    - vendor/ (mount point)
    - odm/ (mount point)
    ...
    

sistem.img

$TARGET_SYSTEM_OUT ve $TARGET_ROOT_OUT öğelerinin birleştirilmiş içeriğini içerir.

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