Ramdisk bölümleri

Android 10 ve 11'de, ilk aşama ramdisk'i, ilk aşama init ikili programını (fstab girişlerinde belirtildiği gibi erken ekleme 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 barındırır.)

  • 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 boot-ramdisk'li cihazlarla aynı şekilde devam eder (yani system.img'yi /system olarak bağlar, bu bağlamayı /'ye 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 ve sonraki sürümlerdeki 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ın 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ın 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)
System as root
(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 önyükleme ç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)
System as root
(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 cihazlar için Android 10'dan önceki ve sonraki bölüm düzenlerindeki farklılıklar ayrıntılı olarak açıklanmaktadır.

boot.img

System as root
(Android 9)
Ramdisk
(Android 10 ve 11)
Normal başlatma çekirdeği ve recovery-ramdisk içerir (BOARD_USES_RECOVERY_AS_BOOT := true).

Recovery-ramdisk yalnızca kurtarma modunda başlatmak için kullanılır.
Normal başlatma çekirdeği ve recovery-ramdisk içerir (BOARD_USES_RECOVERY_AS_BOOT := true).

Recovery-ramdisk hem kurtarma hem de Android'e 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)
    ...