Ramdisk bölümleri

Android 10 ve 11'de ilk aşama ramdisk ilk aşama başlatma ikili programını (belirtildiği şekilde erken ekleme işlemini gerçekleştiren) içerir fstab girişleriyle) 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 RAM'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 init tamamlandıktan sonra SELinux'u derleyip sisteme yüklemek için /system/bin/initselinux_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, A/B olmayan öğeler için bölüm düzenlerindeki farklılıklar ayrıntılı olarak açıklanmaktadır cihazlarda Android 10'dan önceki ve sonraki sürümlerin yüklü olduğu cihazlar.

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.

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

kurtarma.img

Kurtarma çekirdeği ve kurtarma ramdisk.img

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

Birleştirilmiş $TARGET_SYSTEM_OUT içeriğini içerir ve $TARGET_ROOT_OUT.

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

Birleştirilmiş $TARGET_SYSTEM_OUT içeriğini içerir ve $TARGET_ROOT_OUT.

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ın bölüm düzenlerindeki farklılıklar ayrıntılı olarak açıklanmaktadır Android 10 öncesi ve sonrası.

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-ramdisk içerir (BOARD_USES_RECOVERY_AS_BOOT := true).

Kurtarma RAM'i 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 öğ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)
    ...