Android cihazlar, cihaz yazılımının belirli bölümlerini depolamak için kullanılan çeşitli bölümler veya depolama alanı bölümleri içerir. Her bölümde, bölüme ait tüm yazılımların bölüm resmi (IMG dosyası) veya anlık görüntüsü bulunur. Şekil 1'de, bir cihazdaki çekirdek bölümlerinin düzeni gösterilmektedir:
Şekil 1. Temel bölümlerin düzeni.
Bölümler üç kategoriye ayrılır:
Sistem bölümleri, işletim sistemi ve diğer özellikler güncellenirken güncellenen bölümlerdir.
system
,boot
veinit_boot
temel sistem bölümleridir.Satıcı bölümleri, ilk sürümden sonra hiçbir zaman güncellenmeyecek cihaza ve donanıma özgü kod içerir.
vendor
,vendor_boot
veodm
bölümleri temel tedarikçi bölümleridir.Güncellenemeyecek bölümler, içerikleri güncellenmeyen veya kullanıcı verileriyle güncellenen bölümlerdir.
Sistem ve tedarikçi bölümlerindeki kod, tedarikçi arayüzü (VINTF) adlı kararlı bir arayüz kullanarak etkileşim kurabilir.
Sistem bölümleri
Aşağıda, tüm sistem bölümlerinin ve kullanımlarının listesi verilmiştir:
boot
bölümünü Bu bölümde Genel Çekirdek Görüntüsü (GKI) bulunur. Bu bölüm, Android 12 ve önceki sürümlerde kullanıma sunulan cihazlardaki genel ramdisk'i de içerir. Genel ramdisk hakkında daha fazla bilgi için Genel ramdisk resim içerikleri başlıklı makaleyi inceleyin.init_boot
bölümü (Android 13 ve sonraki sürümler). Bu bölümde genel bir ramdisk bulunur. Android 11 ve 12'de genel ramdisk,boot
bölümündedir.system
bölümünü Bu bölümde, OEM ürünleri için kullanılan sistem görüntüsü bulunur.system_ext
bölümüne Bu bölüm, sistem kaynaklarını vesystem
bölümündeki ortak sistem görüntüsünü genişleten özel sistem modüllerini içerir.system_dlkm
bölümüne Bu bölümde GKI modülleri bulunur. Bu bölüm hakkında daha fazla bilgi için GKI modülü bölümü uygulama başlıklı makaleyi inceleyin.product
bölümünü Bu bölüm, diğer bölümlerle birlikte paketlenmemiş, ürüne özel modüller içerebilir.pvmfw
bölümünü Bu bölümde, korumalı sanal makinelerde çalışan ilk kod olan Korumalı Sanal Makine Donanım Yazılımı (pvmfw) saklanır. Daha fazla bilgi için Korumalı Sanal Makine Donanım Yazılımı başlıklı makaleyi inceleyin.generic_bootloader
bölümünü Bu bölümde genel önyükleme yükleyici bulunur.
Tedarikçi firma bölümleri
Aşağıda, tüm tedarikçi firma bölümlerinin ve kullanımlarının listesi verilmiştir:
vendor_boot
bölümünü Bu bölüm, tedarikçiye özgü önyükleme kodunu içerir. Daha fazla bilgi için Tedarikçi firma önyükleme bölümleri bölümüne bakın.recovery
bölümüne Bu bölümde, kablosuz (OTA) güncelleme işlemi sırasında başlatılan kurtarma görüntüsü saklanır. Sorunsuz güncellemeleri destekleyen cihazlar, kurtarma resimleriniboot
veyainit_boot
görüntüsünde bulunan bir ramdisk olarak saklayabilir. Sorunsuz güncellemeler hakkında daha fazla bilgi için A/B (seamless) güncellemeleri başlıklı makaleyi inceleyin.vbmeta
bölümünü Bu bölüm, tüm bölümler için Doğrulanmış Önyükleme bilgilerini içerir. Bu bilgiler, her bölüme yüklenen görüntülerin güvenilir olduğunu doğrular. Doğrulanmış Başlatma hakkında daha fazla bilgi için Doğrulanmış Başlatma başlıklı makaleyi inceleyin.vendor
bölümünü Bu bölüm, tedarikçi firmaya özgü olan ve AOSP'ye dağıtılacak kadar genel olmayan tüm ikili dosyaları içerir.vendor_dlkm
bölümünü Bu bölümde tedarikçi firma çekirdek modülleri bulunur. Tedarikçi firma çekirdek modüllerinivendor
bölümü yerine bu bölümde depolayarakvendor
bölümünü güncellemeden çekirdek modüllerini güncelleyebilirsiniz. Daha fazla bilgi için Tedarikçi ve ODM DKLM bölümleri bölümüne bakın.odm
bölümünü Bu bölümde, çip üzerinde sistem (SoC) tedarikçi firma kart destek paketlerinde (BSP'ler) orijinal tasarım üreticisi (ODM) özelleştirmeleri yer alır. Bu tür özelleştirmeler, ODM'lerin SoC bileşenlerini değiştirmesini veya özelleştirmesini ve donanım soyutlama katmanlarında (HAL'ler) kart özel bileşenleri, arka plan programları ve ODM'ye özel özellikler için çekirdek modülleri uygulamasını sağlar. Bu bölüm isteğe bağlıdır. Bu bölüm genellikle, cihazların birden fazla donanım SKU'su için tek bir tedarikçi resmi kullanabilmesi amacıyla özelleştirmeleri içermek için kullanılır. Daha fazla bilgi için ODM bölümleri bölümüne bakın.odm_dlkm
bölümünü Bu bölüm, ODM çekirdek modüllerini depolamaya ayrılmıştır. ODM çekirdek modülleriniodm
bölümü yerine bu bölümde depolayarakodm
bölümünü güncellemeden ODM çekirdek modüllerini güncelleyebilirsiniz. Daha fazla bilgi için Tedarikçi ve ODM DKLM bölümleri bölümüne bakın.radio
bölümünü Bu bölüm, radyo resmini içerir ve yalnızca özel bir bölümde radyoya özel yazılım içeren bir radyo içeren cihazlar için gereklidir.
Güncellenemeyecek bölümler
Aşağıda, güncellenemeyen tüm bölümlerin ve bunların kullanımlarının listesi verilmiştir:
cache
bölümünü Bu bölüm geçici veriler içerir ve cihazınızda sorunsuz güncellemeler kullanılıyorsa isteğe bağlıdır. Bu bölümün, önyükleyiciden yazılabilir olması gerekmez ancak silinebilir olması gerekir. Bölüm boyutu, cihaz türüne veuserdata
'teki alan durumuna bağlıdır. Genellikle 50 ila 100 MB yeterlidir.userdata
bölümünü Bu bölümde, kullanıcı tarafından yüklenen uygulamalar ve özelleştirme verileri dahil olmak üzere veriler bulunur.metadata
bölümünü Cihazınızda meta veri şifrelemesi kullanılıyorsa bu bölüm meta veri şifreleme anahtarını içerir. Bu bölümün boyutu 16 MB veya daha büyüktür, şifrelenmemiştir ve verilerinin anlık görüntüsü alınmamıştır. Bu bölüm, cihaz fabrika ayarlarına sıfırlandığında silinir.
Bölme güncelleme kuralları ve önerileri
Tüm sistem bölümlerinin bir bütün olarak, tüm tedarikçi bölümlerinin ise ayrı bir bütün olarak güncellenmesini öneririz. Bölüm grubunu bir bütün olarak güncelleyerek her bölümdeki resimler arasındaki arayüzlerin sabit kaldığını doğrulamak için test yapabilirsiniz.
Bölmelerinizi nasıl güncellediğinizden bağımsız olarak, sıkı bağlı bağımlılıklar ve kararlı API'lerin olmaması nedeniyle aşağıdaki bölümler güncellenmelidir:
boot
vesystem_dlkm
bölümleriinit_boot
,system
,system_ext
veproduct
bölümleri
Dinamik bölümler
Android 11 ve sonraki sürümleri çalıştıran cihazlar, kablosuz (OTA) güncellemeler sırasında bölüm oluşturmanıza, yeniden boyutlandırmanıza veya bölüm silmenize olanak tanıyan Android için kullanıcı alanı bölümlendirme sistemi olan dinamik bölümleri destekleyebilir. Daha fazla bilgi için Dinamik bölümler bölümüne bakın.
misc
bölümüne Bu bölüm, kurtarma bölümü tarafından kullanılır ve 4 KB veya daha büyüktür.tos
bölümünü Bu bölüm, Trusty OS'nin ikili görüntüsünü içerir ve yalnızca cihazda Trusty varsa kullanılır. Daha fazla bilgi için Trusty OS (TOS) bölümleri başlıklı makaleyi inceleyin.
Soong ürün varyantları
Soong derleme sistemi, derleme bağımlılıklarını bölmek için görüntü varyantlarını kullanır. Yerel modüller (/build/soong/cc
), sistem işleme modüllerini temel varyantta, tedarikçi firma işleme modüllerini ise tedarikçi firma varyantında değiştirebilir. Bir resim varyantındaki modül, farklı bir resim varyantındaki diğer modüllere bağlanamaz.
Android 12 veya sonraki sürümlerde, vendor_available: true
içeren bir sistem modülü, temel varyanta ek olarak bir tedarikçi varyantı oluşturur. Ürün varyantı oluşturmak için product_available: true
tanımlanmalıdır. product_available: true
içermeyen bazı VNDK kitaplıkları, ürün modülleri tarafından kullanılamaz.