Perangkat Android menyertakan beberapa partisi yang menyediakan fungsi berbeda dalam proses {i>booting<i}.
Partisi standar
Partisi
boot
. Partisi ini berisi image {i>kernel<i} dan dibuat menggunakanmkbootimg
. Anda dapat menggunakan partisi virtual untuk mem-flash image secara langsung tanpa perlu mem-flash partisi {i>boot<i} baru. Partisi ini juga berisi ramdisk generik di perangkat yang diluncurkan sebelum Android 13.kernel. Partisi
kernel
virtual menimpa kernel (zImage
,zImage-dtb
,Image.gz-dtb
) dengan menulis image kernel baru di atas kernel lama {i>kernel<i}. Jika {i>kernel<i} pengembangan yang disediakan tidak kompatibel, Anda mungkin perlu mengupdate partisivendor
,system
, ataudtb
(jika ada) dengan modul {i>kernel<i} yang terkait.. Partisi
ramdisk
virtual menimpa ramdisk dengan menulis {i>image<i} ramdisk baru melalui {i>image <i}ramdisk lama.
Operasi penimpaan menentukan lokasi awal gambar yang ada di eMMC dan menyalin gambar baru ke lokasi tersebut. Image baru ({i>kernel<i} atau ramdisk) mungkin lebih besar dari yang ada; untuk menyediakan ruang, dapat memindahkan data mengikuti gambar atau meninggalkan operasi dengan mengalami {i>error.<i}
Partisi
init_boot
. Partisi ini berisi {i> ramdisk<i} generik untuk perangkat yang diluncurkan dengan Android 13 dan yang lebih baru.Partisi
system
. Partisi ini berisi framework Android.Partisi
odm
. Partisi ini berisi produsen desain asli (ODM) penyesuaian untuk paket dukungan papan vendor (BSP) sistem di chip (SoC). Penyesuaian tersebut memungkinkan ODM mengganti atau menyesuaikan komponen SoC, dan mengimplementasikan modul {i>kernel<i} untuk komponen khusus Board, {i>daemon<i}, dan Fitur khusus ODM pada lapisan abstraksi hardware (HAL). Partisi ini opsional; biasanya, data itu digunakan untuk melakukan penyesuaian sehingga perangkat bisa menggunakan satu image vendor untuk beberapa SKU hardware. Untuk mengetahui detailnya, lihat ODM Partisi.Partisi
odm_dlkm
. Partisi ini dikhususkan untuk menyimpan {i>kernel<i} ODM modul. Menyimpan modul kernel ODM di partisiodm_dlkm
(sebagai pengganti ke partisiodm
) memungkinkan update modul kernel ODM tanpa memperbarui partisiodm
.Partisi
recovery
. Partisi ini menyimpan {i>image<i} pemulihan, yang di-{i>booting<i} selama proses OTA. Perangkat yang mendukung mulus dapat menyimpan image pemulihan sebagai ramdisk yang ada dalam imageboot
atauinit_boot
(bukan gambar).Partisi
cache
. Partisi ini menyimpan data sementara dan bersifat opsional jika perangkat menggunakan update tanpa hambatan. Partisi {i>cache<i} tidak perlu dapat ditulis dari {i>bootloader<i}, tetapi perlu dapat dihapus. Partisi ukuran bergantung pada jenis perangkat dan ketersediaan ruang diuserdata
; biasanya, 50 MB–100 MB sudah cukup.Partisi
misc
. Partisi ini digunakan oleh partisi pemulihan dan 4 KB atau lebih.Partisi
userdata
. Partisi ini berisi aplikasi yang diinstal oleh pengguna dan data, termasuk data penyesuaian.Partisi
metadata
. Partisi ini digunakan untuk menyimpan metadata kunci enkripsi jika perangkat menggunakan metadata enkripsi. Ukurannya adalah 16 MB atau lebih. Class ini tidak dienkripsi dan datanya tidak di-snapshot. Data ini akan dihapus saat perangkat direset ke setelan pabrik. Penggunaan partisi ini sangat terbatas.Partisi
vendor
. Partisi ini berisi biner yang tidak dapat didistribusikan ke AOSP. Jika perangkat tidak memiliki informasi kepemilikan, Anda dapat menghilangkan partisi ini.Partisi
vendor_dlkm
. Partisi ini didedikasikan untuk menyimpan vendor modul {i>kernel<i}. Menyimpan modul kernel vendor di partisivendor_dlkm
(bukan partisivendor
) memungkinkan update kernel modul tanpa mengupdate partisivendor
.Partisi
radio
. Partisi ini berisi image radio dan diperlukan hanya untuk perangkat yang menyertakan radio dengan perangkat lunak khusus radio dalam partisi khusus.Partisi
tos
. Partisi ini menyimpan {i>image<i} biner dari Trusty OS dan hanya digunakan jika perangkat menyertakan Trusty. Untuk mengetahui detailnya, lihat TOS Partisi.Partisi
pvmfw
. Partisi ini menyimpan Protected Virtual Machine Firmware (pvmfw) yang merupakan kode pertama yang berjalan di VM yang dilindungi. Lihat Firmware Mesin Virtual yang Dilindungi untuk mengetahui detail selengkapnya.
Partisi dinamis
Perangkat yang menjalankan Android 11 dan yang lebih baru dapat mendukung partisi dinamis, yang merupakan sistem partisi ruang pengguna untuk Android yang memungkinkan pembuatan, pengubahan ukuran, atau penghancuran partisi selama over the air (OTA) pembaruan. Untuk mengetahui detailnya, lihat Dinamis partisi.
Menetapkan partisi penting
Jika perangkat memerlukan partisi atau data tertentu untuk dijalankan, Anda harus menetapkan
partisi atau data tersebut baik yang sepenuhnya
terlindungi atau dapat di-flash ulang, yang berarti
file tersebut dapat dibangun ulang, disediakan, atau dapat diekstrak menggunakan perintah fastboot oem
.
Hal ini mencakup data seperti setelan khusus
pabrik per perangkat, nomor seri,
data kalibrasi, dan banyak lagi.
Perubahan di Android 11
Android 11 menyertakan banyak perubahan pada partisi, termasuk batasan terkait penautan ke library dan varian gambar Soong baru.
Gambar 1. Tata letak partisi di Android 11
Image Sistem Tunggal (SSI). Sebuah gambar konseptual baru yang berisi
system
dansystem_ext
gambar. Ketika partisi ini umum untuk suatu set perangkat target, perangkat tersebut dapat berbagi SSI dan melewati pembuatansystem
dansystem_ext
gambar.Partisi
system_ext
. Partisi baru yang dapat menggunakan resourcesystem
dan dapat mencakup modul sistem yang:Memperluas modul sistem AOSP di partisi
system
. Saran dari kami melakukan upstreaming modul tersebut ke AOSP sehingga dapat diinstal kesystem
partisi nanti.Memaketkan modul khusus SoC atau OEM. Sebaiknya pisahkan modul tersebut sehingga dapat diinstal ke partisi
product
atauvendor
.
Partisi
system
. Image sistem umum yang digunakan untuk produk OEM. Rab sebaiknya pindahkan modul eksklusif keluar dari partisisystem
, baik dengan melakukan upgrade ke AOSP atau dengan memindahkannya ke partisisystem_ext
.Partisi
product
. Partisi ini sekarang dapat menggunakan antarmuka yang diizinkan untuk menginstal modul khusus produk yang tidak dipaketkan dengan partisi.
Perubahan VNDK
Vendor Native Development Kit (VNDK)
adalah sekumpulan library yang diinstal di partisi system
dan dirancang
khusus bagi vendor untuk
mengimplementasikan HAL mereka.
Di Android 10 dan yang lebih rendah, partisi
vendor
dapat ditautkan ke library VNDK di partisisystem
, tetapi tidak dapat menautkan ke library lain disystem
partisi. Modul native di partisiproduct
dapat ditautkan ke library mana pun di partisisystem
.Di Android 11 dan yang lebih tinggi,
product
danvendor
partisi dapat terhubung ke library VNDK di partisisystem
, tetapi tidak dapat tautkan ke library lain di partisisystem
.
Varian produk Soong
Sistem build Soong menggunakan varian image untuk membagi
dependensi build. Modul native (/build/soong/cc
) dapat memutasikan sistem
modul proses ke varian inti dan modul proses vendor ke
varian vendor; modul dalam satu varian gambar tidak dapat ditautkan ke modul lain di
varian gambar yang berbeda.
Di Android 10 atau yang lebih rendah, modul sistem secara otomatis membuat varian inti. Aplikasi ini juga dapat membuat varian vendor dengan menentukan
vendor_available: true
diAndroid.bp
file; hal ini memungkinkan modul vendor untuk ditautkan ke modul sistem. Library VNDK, yang merupakan varian vendor librarysystem
, juga dapat membuat varian vendor untuk modul vendor dengan menentukanvendor_available: true
dalam fileAndroid.bp
(lihat contoh).Di Android 11, modul sistem juga dapat membuat varian produk (selain varian inti dan vendor) dengan menentukan
vendor_available: true
.Di Android 12 atau yang lebih tinggi, modul sistem dengan
vendor_available: true
membuat varian vendor selain inti yang berbeda. Untuk membuat varian produk,product_available: true
harus didefinisikan. Beberapa library VNDK tanpaproduct_available: true
tidak yang tersedia untuk modul produk.