Android cihazlarda, cihaz yazılımının belirli bölümlerini içeren depolama alanının birkaç bölümü veya belirli kısımları bulunur. Her bölüm, bölüm resmi (IMG dosyası) veya bölümdeki tüm yazılımların anlık görüntüsünü içerir. Şekil 1'de bir cihazdaki temel bölümlerin düzeni gösterilmektedir:
1.şekil Çekirdek bölümlerin düzeni.
Bölümler üç kategoride sınıflandırı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 yayınlandıktan sonra hiçbir zaman güncellenmeyebilecek cihaza ve donanıma özgü kod içerir.
vendor
,vendor_boot
veodm
bölümleri temel bölümlerdir.Güncellenemeyen bölümler, içerikleri güncellenmeyen veya kullanıcı verileriyle güncellenen bölümlerdir.
Sistem ve tedarikçi bölümlerindeki kodlar, tedarikçi arayüzü (VINTF) adı verilen sabit bir arayüzü kullanarak etkileşime geçebilir.
Sistem bölümleri
Aşağıda, tüm sistem bölümleri ve bunların kullanım alanları listelenmiştir:
boot
bölümü. Bu bölümde Genel Çekirdek Görüntüsü (GKI) bulunur. Bu bölüm, Android 12 ve önceki sürümlerde başlatılan cihazlardaki genel ramdisk'i de içerir. Genel ramdisk hakkında daha fazla bilgi için Genel ramdisk görüntü içerikleri başlıklı makaleyi inceleyin.init_boot
bölümü (Android 13 ve sonraki sürümler). Bu bölüm genel bir ramdisk içeriyor. Android 11 ve 12'de genel ramdisk,boot
bölümündedir.system
bölümü. Bu bölüm, OEM ürünlerinde kullanılan sistem görüntüsünü içerir.system_ext
bölümü. Bu bölüm, sistem kaynaklarını vesystem
bölümündeki ortak sistem görüntüsünü genişleten tescilli sistem modüllerini içerir.system_dlkm
bölümü. Bu bölüm GKI modüllerini içerir. 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ü. Bu bölüm, başka bölümlerle birlikte paketlenmemiş ürüne özel modüller içerebilir.pvmfw
bölümü. Bu bölüm, korumalı sanal makinelerde çalışan ilk kod olan Protected Virtual Machine Firmware'i (pvmfw) depolar. Daha fazla bilgi için Protected Virtual Machine Firmware (Korumalı Sanal Makine Donanım Yazılımı) başlıklı makaleyi inceleyin.generic_bootloader
bölümü. Bu bölüm, genel önyükleyiciyi içerir.
Tedarikçi bölümleri
Aşağıda, tüm satıcı bölümleri ve bunların kullanım alanları listelenmiştir:
vendor_boot
bölümü. Bu bölüm, satıcıya özgü önyükleme kodu içerir. Daha fazla bilgi için Sağlayıcı önyükleme bölümleri başlıklı makaleyi inceleyin.recovery
bölümü. Bu bölüm, kablosuz (OTA) güncelleme işlemi sırasında başlatılan kurtarma görüntüsünü depolar. Sorunsuz güncellemeleri destekleyen cihazlar, kurtarma görüntüleriniboot
veyainit_boot
görüntüsünde bulunan bir ramdisk olarak depolayabilir. Sorunsuz güncellemeler hakkında daha fazla bilgi için A/B (sorunsuz) güncellemeler başlıklı makaleyi inceleyin.vbmeta
bölümü. Bu bölüm, tüm bölümlerin 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ü. Bu bölüm, tedarikçiye özel olan ve AOSP'ye dağıtılacak kadar genel olmayan tüm ikili dosyaları içerir.vendor_dlkm
bölümü. Bu bölümde, satıcı çekirdek modülleri yer alır. Tedarikçi ç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 konusuna bakın.odm
bölümü. Bu bölüm, çip üzerinde sistem (SoC) satıcısı kart destek paketlerinde (BSP'ler) özgün tasarım üreticisi (ODM) özelleştirmelerini içerir. Bu tür özelleştirmeler, ODM'lerin SoC bileşenlerini değiştirmesine veya özelleştirmesine ve donanım soyutlama katmanlarında (HAL'ler) kart özel bileşenleri, arka plan programları ve ODM'ye özel özellikler için çekirdek modüllerini uygulamasına olanak tanır. Bu bölüm isteğe bağlıdır. Bu bölüm genellikle özelleştirmeleri içermek için kullanılır. Böylece cihazlar, birden fazla donanım SKU'su için tek bir satıcı resmi kullanabilir. Daha fazla bilgi için ODM bölümleri başlıklı makaleyi inceleyin.odm_dlkm
bölümü. 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 konusuna bakın.radio
bölümü. Bu bölüm, radyo görüntüsünü içerir ve yalnızca özel bir bölümde radyoya özel yazılım içeren radyo bulunan cihazlar için gereklidir.
Güncellenemeyen bölümler
Aşağıda, güncellenemeyen tüm bölümler ve kullanımları listelenmiştir:
cache
bölümü. 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 bootloader'dan yazılabilir olması gerekmez ancak silinebilir olması gerekir. Bölüm boyutu, cihaz türüne veuserdata
'daki alanın kullanılabilirliğine bağlıdır. Genellikle 50-100 MB yeterlidir.userdata
bölümü. Bu bölümde, kullanıcı tarafından yüklenen uygulamalar ve özelleştirme verileri de dahil olmak üzere veriler bulunur.metadata
bölümü. Cihazınızda meta veri şifreleme 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ölüm güncelleme kuralları ve önerileri
Tüm sistem bölümlerini bir bütün olarak, tüm satıcı bölümlerini ise başka bir bütün olarak güncellemenizi ö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ölümlerinizi nasıl güncellediğinizden bağımsız olarak, sıkıca bağlı bağımlılıklar ve kararlı API'lerin olmaması nedeniyle aşağıdaki bölümlerin güncellenmesi gerekir:
boot
vesystem_dlkm
bölümleriinit_boot
,system
,system_ext
veproduct
bölümleri
Dinamik bölümler
Android 11 ve sonraki sürümlerin yüklü olduğu cihazlar, kablosuz (OTA) güncellemeleri sırasında bölümleri oluşturmanıza, yeniden boyutlandırmanıza veya yok etmenize olanak tanıyan, Android için bir kullanıcı alanı bölümleme sistemi olan dinamik bölümleri destekleyebilir. Daha fazla bilgi için Dinamik bölümler başlıklı makaleyi inceleyin.
misc
bölümü. 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ü. 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 süreci modüllerini temel varyanta, satıcı süreci modüllerini ise satıcı varyantına dönüştürebilir. 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 satıcı 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üllerinde kullanılamaz.