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 tedarikçi 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 ramdisk'i olan cihazlarda (A/B olmayan) ilk aşama init, /init adresinde bulunan statik bir yürütülebilir dosyadır. Bu cihazlar, system.img/system olarak bağlar ve ardından /system'teki bağlamayı /'ye taşımak için bir kök değiştirme işlemi gerçekleştirir. Montaj tamamlandıktan sonra ramdisk'in içeriği serbest bırakılır.

  • Kurtarma işlemini ramdisk olarak kullanan cihazlarda ilk aşama init, kurtarma ramdisk'inde /init adresinde bulunur. Bu cihazlar öncelikle kurtarma bileşenlerini ortamdan kaldırmak için kökü /first_stage_ramdisk olarak değiştirir, ardından önyükleme diski diski olan cihazlarla aynı şekilde devam eder (yani system.img olarak ekle, /system olarak ekle, bu ekleme işlemini / konumuna taşımak için kökü değiştir ve ekleme işleminden sonra boş RAM diski içeriğini değiştir). androidboot.force_normal_boot=1, çekirdek komut satırında (veya Android 12'den sonraki bootconfig'de) varsa cihazlar kurtarma modu yerine normal şekilde (Android'de) başlatılır.

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

Aşağıdaki bölümlerde, Android 10'dan önce ve sonra A/B olmayan cihazlarda bölüm düzenlerindeki farklılıklar ayrıntılı olarak açıklanmıştır.

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

Aşağıdaki bölümlerde, Android 10'dan önce ve sonra A/B olmayan cihazlarda bölüm düzenlerindeki farklılıklar ayrıntılı olarak açıklanmıştır.

önyükleme.img

Ramdisk
(Android 8.x ve önceki sürümler)
Kök olarak sistem
(Android 9)
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 başlatma ç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

Kurtarma çekirdeği ve kurtarma ramdisk.img

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'un 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'un 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 yerleşimleri (A/B cihazlar)

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

boot.img

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

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

Kurtarma-ramdisk, hem kurtarma 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)
    ...
    

system.img

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

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