Ramdisk bölümleri

Android 10 ve 11'de, ilk aşama ramdisk'i, ilk aşama init ikilisini (fstab girişlerinde belirtildiği gibi erken bağlama işlemini 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.)

  • Boot-ramdisk'li (A/B olmayan) cihazlarda ilk aşama başlatma, /init konumunda bulunan statik bir yürütülebilir dosyadır. Bu cihazlar system.img öğesini /system olarak bağlar, ardından bağlama noktasını /system konumundan / konumuna taşımak için kök değiştirme işlemi gerçekleştirir. RAM disk içeriği, bağlama işlemi tamamlandıktan sonra serbest bırakılır.

  • Kurtarmayı ramdisk olarak kullanan cihazlarda ilk aşama başlatma, kurtarma ramdisk'i içindeki /init konumunda bulunur. Bu cihazlar, kurtarma bileşenlerini ortamdan kaldırmak için önce kök dizini /first_stage_ramdisk olarak değiştirir, ardından önyükleme ramdiski olan cihazlarla aynı şekilde devam eder (yani system.img öğesini /system olarak bağlar, bu bağlamayı / konumuna taşımak için kök dizini değiştirir ve bağlamadan sonra ramdisk içeriklerini serbest bırakır). Çekirdek komut satırında (veya Android 12'den itibaren bootconfig'de) androidboot.force_normal_boot=1 varsa cihazlar kurtarma moduna önyükleme yapmak yerine normal şekilde (Android'e) önyükleme yapar.

İlk aşama başlatma işlemi tamamlandıktan sonra, SELinux'u derleyip sisteme yüklemek için /system/bin/init komutunu selinux_setup bağımsız değişkeniyle birlikte yürütür. Son olarak, /system/bin/init, second_stage bağımsız değişkeniyle tekrar yürütülür. Bu noktada, init'in ana aşaması çalışır ve init.rc komut dosyalarını kullanarak başlatma işlemine devam eder.

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 açıklanmaktadır.

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 açıklanmaktadır.

boot.img

Ramdisk
(Android 8.x ve önceki sürümler)
Kök olarak sistem
(Android 9)
Ramdisk
(Android 10 ve 11)

Çekirdek ve 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 başlatma çekirdeği içerir.

Çekirdek ve ramdisk.img içerir.

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

recovery.img

Kurtarma çekirdeği ve kurtarma ramdisk.img içerir.

system.img

Ramdisk
(Android 8.x ve önceki sürümler)
Kök olarak sistem
(Android 9)
Ramdisk
(Android 10 ve 11)

system.img içerir.

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

$TARGET_SYSTEM_OUT ve $TARGET_ROOT_OUT'nin birleştirilmiş içeriklerini barındırır.

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'nin birleştirilmiş içeriklerini barındırır.

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, A/B cihazlarda Android 10'dan önce ve sonraki bölüm düzenlerindeki farklılıklar ayrıntılı olarak açıklanmaktadır.

boot.img

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

Kurtarma ramdiski yalnızca kurtarmaya önyüklemek için kullanılır.
Normal başlatma çekirdeği ve kurtarma ramdiski içerir (BOARD_USES_RECOVERY_AS_BOOT := true).

Kurtarma ramdiski hem kurtarma hem de Android'i başlatmak 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)
    ...
    

system.img

$TARGET_SYSTEM_OUT ve $TARGET_ROOT_OUT'nin birleştirilmiş içeriklerini barındırır.

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