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, kurtarma bileşenlerini ortamdan kaldırmak için önce kökü /first_stage_ramdisk olarak değiştirir, ardından önyükleme ramdisk'i olan cihazlarla aynı şekilde devam eder (yani, system.img/system olarak bağlar, bu bağlamayı /'a taşımak için kökü değiştirir ve bağlama işleminden sonra ramdisk içeriğini serbest bırakır). Çekirdek komut satırında (veya Android 12'den itibaren bootconfig) androidboot.force_normal_boot=1 varsa cihazlar kurtarma moduna değil, normal şekilde (Android'e) önyükleme yapar.

İ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 yerleşimleri (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 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

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 başlatma çekirdeği ve kurtarma RAM diski (BOARD_USES_RECOVERY_AS_BOOT := true) içerir.

Kurtarma RAM diski, hem kurtarma işlemini 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)
    ...
    

sistem.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)
    ...