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 cihazlarsystem.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 (yanisystem.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 -/ - 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 -/ - 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 -/ - bin/ - etc - vendor -> /vendor - ... |
system.img -/ - init.rc - init - etc -> /system/etc - system/ - bin/ - etc/ - vendor -> /vendor - ... - vendor/ (mount point) - odm/ (mount point) ... |
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)
...