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,
/initkonumunda bulunan statik bir yürütülebilir dosyadır. Bu cihazlarsystem.imgöğesini/systemolarak bağlar, ardından bağlama noktasını/systemkonumundan/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
/initkonumunda bulunur. Bu cihazlar, kurtarma bileşenlerini ortamdan kaldırmak için önce kök dizini/first_stage_ramdiskolarak değiştirir, ardından önyükleme ramdiski olan cihazlarla aynı şekilde devam eder (yanisystem.imgöğesini/systemolarak 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=1varsa 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)
...