Mulai 27 Maret 2025, sebaiknya gunakan android-latest-release, bukan aosp-main, untuk mem-build dan berkontribusi pada AOSP. Untuk mengetahui informasi selengkapnya, lihat Perubahan pada AOSP.
Tetap teratur dengan koleksi
Simpan dan kategorikan konten berdasarkan preferensi Anda.
Perangkat Android berisi beberapa partisi atau bagian penyimpanan tertentu yang digunakan untuk menyimpan bagian tertentu dari software perangkat. Setiap partisi
berisi image partisi (file IMG) atau snapshot semua software untuk
partisi. Gambar 1 menunjukkan tata letak partisi inti pada perangkat:
Gambar 1. Tata letak partisi inti.
Partisi diklasifikasikan dalam tiga kategori:
Partisi sistem adalah partisi yang diupdate saat mengupdate OS dan fitur lainnya. system, boot, dan init_boot adalah partisi sistem inti.
Partisi vendor berisi kode khusus perangkat dan hardware yang mungkin tidak pernah diupdate setelah rilis awal. Partisi vendor, vendor_boot, dan odm
adalah partisi vendor inti.
Partisi yang tidak dapat diupdate adalah partisi yang kontennya tidak diupdate
atau diupdate dengan data pengguna.
Kode di partisi sistem dan vendor dapat berinteraksi menggunakan antarmuka stabil
yang disebut antarmuka vendor (VINTF).
Partisi sistem
Berikut adalah daftar semua partisi sistem dan penggunaannya:
Partisi boot. Partisi ini berisi Generic Kernel Image (GKI).
Partisi ini juga berisi ramdisk generik di perangkat yang diluncurkan di
Android 12 dan yang lebih lama. Untuk mengetahui informasi lebih lanjut tentang ramdisk generik, lihat
Isi image ramdisk generik.
Partisi init_boot (Android 13 dan yang lebih tinggi). Partisi ini berisi ramdisk generik. Di Android 11 dan 12, ramdisk generik berada di partisi
boot.
Partisi system. Partisi ini berisi image sistem yang digunakan untuk produk OEM.
Partisi system_ext. Partisi ini berisi resource sistem dan
modul sistem eksklusif yang memperluas image sistem umum di partisi system.
Partisi system_dlkm. Partisi ini berisi modul GKI. Untuk informasi lebih lanjut tentang partisi ini, lihat Menerapkan partisi modul GKI.
Partisi product. Partisi ini dapat berisi modul khusus produk
yang tidak digabungkan dengan partisi lain.
Partisi pvmfw. Partisi ini menyimpan Firmware Virtual Machine yang Dilindungi (pvmfw) yang merupakan kode pertama yang berjalan di VM yang dilindungi. Untuk mengetahui informasi selengkapnya, lihat Firmware Mesin Virtual yang Dilindungi.
Partisi generic_bootloader. Partisi ini berisi bootloader generik.
Partisi vendor
Berikut adalah daftar semua partisi vendor dan penggunaannya:
Partisi vendor_boot. Partisi ini berisi kode boot khusus vendor. Untuk mengetahui informasi selengkapnya, lihat Partisi booting vendor.
Partisi recovery. Partisi ini menyimpan image pemulihan, yang di-boot selama proses update over-the-air (OTA). Perangkat yang mendukung update lancar dapat menyimpan image pemulihan sebagai ramdisk yang terdapat dalam image boot atau init_boot. Untuk mengetahui informasi selengkapnya tentang update lancar, lihat Update A/B (lancar).
Partisi misc. Partisi ini digunakan oleh partisi pemulihan dan berukuran 4 KB atau lebih besar.
Partisi vbmeta. Partisi ini berisi informasi Boot Terverifikasi untuk semua partisi. Informasi ini memverifikasi bahwa image yang diinstal di setiap partisi dapat dipercaya. Untuk informasi lebih lanjut tentang
Booting Terverifikasi, lihat
Booting Terverifikasi.
Partisi vendor. Partisi ini berisi biner apa pun yang khusus vendor dan tidak cukup generik untuk didistribusikan ke AOSP.
Partisi vendor_dlkm. Partisi ini berisi modul kernel vendor. Dengan menyimpan modul kernel vendor di partisi ini, bukan di partisi vendor, Anda dapat mengupdate modul kernel tanpa mengupdate partisi vendor. Untuk mengetahui informasi selengkapnya, lihat
Partisi DKLM vendor dan ODM.
Partisi odm. Partisi ini berisi penyesuaian produsen desain asli (ODM) untuk paket dukungan papan (BSP) vendor system-on-chip (SoC).
Penyesuaian tersebut memungkinkan ODM mengganti atau menyesuaikan komponen SoC, dan
menerapkan modul kernel untuk komponen khusus papan, daemon, dan
fitur khusus ODM pada lapisan abstraksi hardware (HAL). Partisi ini bersifat opsional. Biasanya partisi ini digunakan untuk berisi penyesuaian sehingga
perangkat dapat
menggunakan satu image vendor untuk beberapa SKU hardware. Untuk mengetahui informasi selengkapnya, lihat Partisi ODM.
Partisi odm_dlkm. Partisi ini dikhususkan untuk menyimpan modul kernel ODM. Dengan menyimpan modul kernel ODM di partisi ini, bukan di partisi odm, Anda dapat memperbarui modul kernel ODM tanpa memperbarui partisi odm. Untuk mengetahui informasi selengkapnya, lihat
Partisi DKLM vendor dan ODM.
Partisi radio. Partisi ini berisi image radio dan hanya diperlukan untuk perangkat yang menyertakan radio dengan software khusus radio dalam partisi khusus.
Partisi yang tidak dapat diupdate
Berikut adalah daftar semua partisi yang tidak dapat diupdate dan penggunaannya:
Partisi cache. Partisi ini berisi data sementara dan bersifat opsional
jika perangkat Anda menggunakan update lancar. Partisi ini tidak perlu dapat ditulis dari bootloader, tetapi harus dapat dihapus. Ukuran partisi bergantung pada jenis perangkat dan ketersediaan ruang di userdata; biasanya, 50 hingga 100 MB sudah cukup.
Partisi userdata. Partisi ini berisi aplikasi dan data yang diinstal pengguna, termasuk data penyesuaian.
Partisi metadata. Jika perangkat Anda menggunakan enkripsi metadata,
partisi ini berisi kunci enkripsi metadata. Ukuran partisi ini adalah 16 MB atau lebih besar, tidak dienkripsi, dan datanya tidak di-snapshot. Partisi ini akan dihapus saat perangkat direset ke setelan pabrik.
Aturan dan rekomendasi pembaruan partisi
Sebaiknya perbarui semua partisi sistem secara keseluruhan dan semua partisi vendor secara keseluruhan. Dengan memperbarui set partisi secara keseluruhan, Anda dapat menguji untuk memverifikasi bahwa antarmuka antara gambar di setiap partisi tetap stabil.
Terlepas dari cara Anda memperbarui partisi, partisi berikut harus diperbarui karena dependensi yang terkait erat dan kurangnya API yang stabil:
Partisi boot dan system_dlkm
partisi init_boot, system, system_ext, dan product
Partisi dinamis
Perangkat yang menjalankan Android 11 dan yang lebih tinggi dapat mendukung partisi dinamis, yang merupakan sistem partisi ruang pengguna untuk Android yang memungkinkan Anda membuat, mengubah ukuran, atau menghapus partisi selama update melalui udara (OTA). Untuk mengetahui informasi selengkapnya, lihat Partisi dinamis.
Varian produk Soong
Sistem build Soong menggunakan varian gambar untuk memisahkan dependensi build. Modul native (/build/soong/cc) dapat mengubah modul proses sistem
ke varian inti dan modul proses vendor ke
varian vendor; modul dalam satu varian image tidak dapat ditautkan ke modul lain dalam
varian image yang berbeda.
Di Android 12 atau yang lebih tinggi, modul sistem dengan
vendor_available: true membuat varian vendor selain varian
inti. Untuk membuat varian produk, product_available: true harus ditentukan. Beberapa library VNDK tanpa product_available: true tidak tersedia untuk modul produk.
Konten dan contoh kode di halaman ini tunduk kepada lisensi yang dijelaskan dalam Lisensi Konten. Java dan OpenJDK adalah merek dagang atau merek dagang terdaftar dari Oracle dan/atau afiliasinya.
Terakhir diperbarui pada 2025-07-27 UTC.
[[["Mudah dipahami","easyToUnderstand","thumb-up"],["Memecahkan masalah saya","solvedMyProblem","thumb-up"],["Lainnya","otherUp","thumb-up"]],[["Informasi yang saya butuhkan tidak ada","missingTheInformationINeed","thumb-down"],["Terlalu rumit/langkahnya terlalu banyak","tooComplicatedTooManySteps","thumb-down"],["Sudah usang","outOfDate","thumb-down"],["Masalah terjemahan","translationIssue","thumb-down"],["Masalah kode / contoh","samplesCodeIssue","thumb-down"],["Lainnya","otherDown","thumb-down"]],["Terakhir diperbarui pada 2025-07-27 UTC."],[],[],null,["# Partitions overview\n\nAndroid devices contain several *partitions* or specific sections of storage\nspace used to contain specific parts of the device's software. Each partition\ncontains a *partition image* (an IMG file) or snapshot of all the software for\nthe partition. Figure 1 shows the layout of core partitions on a device:\n\n**Figure 1.** Layout of core partitions.\n\nPartitions are classified in three categories:\n\n- *System partitions* are partitions that are updated when updating the OS\n and other features. The `system`, `boot`, and `init_boot` are core system\n partitions.\n\n- *Vendor partitions* contain device and hardware-specific code that might\n never be updated after initial release. The `vendor`, `vendor_boot`, and `odm`\n partitions are core vendor partitions.\n\n- *Nonupdatable partitions* are partitions whose contents are either not updated\n or updated with user data.\n\nCode in system and vendor partitions can interact using a stable interface\ncalled the *vendor interface (VINTF)*.\n| **Note:** The separation of system partitions from vendor partitions was part of an Android 11 effort called *Project Treble*. With this architecture, you can update a device's operating system and apps without updating any of hardware-specific code.\n\n### System partitions\n\nFollowing is a list of all system partitions and their use:\n\n- **`boot` partition.** This partition contains a Generic Kernel Image (GKI).\n This partition also contains the generic ramdisk in devices launched in\n Android 12 and lower. For further information on generic ramdisk, see\n [Generic ramdisk image contents](/docs/core/architecture/partitions/generic-boot#generic-boot-ramdisk-image-contents).\n\n- **`init_boot` partition (Android 13 and higher).** This partition contains a\n generic ramdisk. In Android 11 and 12, the generic ramdisk is in the\n `boot` partition.\n\n- **`system` partition.** This partition contains the system image used\n for OEM products.\n\n- **`system_ext` partition.** This partition contains system resources and\n proprietary system modules that extend the common system image in the `system`\n partition.\n\n | **Note:** *Single system image (SSI)* refers to a file, such as a zip file that contains the images of the `system` and `system_ext` partitions and reuses those images across a set of target devices. For further information on SSI, see [Android shared system image](/docs/core/architecture/partitions/shared-system-image).\n- **`system_dlkm` partition.** This partition contains GKI modules. For further\n information on this partition, see [Implement a GKI module partition](/docs/core/architecture/partitions/gki-partitions).\n\n- **`product` partition.** This partition can contain product-specific modules\n that aren't bundled with any other partitions.\n\n | **Note:** The [*Vendor Native Development Kit (VNDK)*](/docs/core/architecture/vndk) is a set of libraries installed in the `system` partition and designed exclusively for vendors to implement their HALs. The `product` and `vendor` partitions can link to VNDK libraries in the `system` partition, but can't link to other libraries in the `system` partition.\n- **`pvmfw` partition.** This partition stores the Protected Virtual Machine\n Firmware (pvmfw) which is the first code that runs in protected VMs. For more\n information, see [Protected Virtual Machine Firmware](https://android.googlesource.com/platform/packages/modules/Virtualization/+/refs/heads/android16-release/guest/pvmfw/README.md).\n\n- **`generic_bootloader` partition.** This partition contains the generic bootloader.\n\n### Vendor partitions\n\nFollowing is a list of all vendor partitions and their use:\n\n- **`vendor_boot` partition.** This partition contains vendor-specific boot\n code. For more information, see [Vendor boot partitions](/docs/core/architecture/partitions/vendor-boot-partitions).\n\n- **`recovery` partition.** This partition stores the recovery image, which is\n booted during the over-the-air (OTA) update process. Devices that support\n seamless updates can store the recovery images as a ramdisk contained in the\n `boot` or `init_boot` image. For more information on seamless updates,\n see [A/B (seamless) updates](/docs/core/ota/ab).\n\n- **`misc` partition.** This partition is used by the recovery partition and is\n 4 KB or larger.\n\n- **`vbmeta` partition.** This partition contains the Verified Boot information\n for all of the partitions. This information verifies that the images installed\n in each partition is trusted. For further information on\n Verified Boot, see\n [Verified Boot](/docs/security/features/verifiedboot).\n\n- **`vendor` partition.** This partition contains any binary that is vendor\n specific and not generic enough to distribute to AOSP.\n\n | **Note:** The [*Vendor Native Development Kit (VNDK)*](/docs/core/architecture/vndk) is a set of libraries installed in the `system` partition and designed exclusively for vendors to implement their HALs. The `product` and `vendor` partitions can link to VNDK libraries in the `system` partition, but can't link to other libraries in the `system` partition.\n- **`vendor_dlkm` partition.** This partition contains vendor\n kernel modules. By storing vendor kernel modules in this partition\n instead of the `vendor` partition, you can update kernel\n modules without updating the `vendor` partition. For more information, see\n [Vendor and ODM DKLM partitions](/docs/core/architecture/partitions/vendor-odm-dlkm-partition).\n\n- **`odm` partition.** This partition contains original design manufacturer\n (ODM)\n customizations to system-on-chip (SoC) vendor board-support packages (BSPs).\n Such customizations enable ODMs to replace or customize SoC components, and\n implement kernel modules for board-specific components, daemons, and\n ODM-specific features on hardware abstraction layers (HALs). This partition is\n optional. Typically this partition is used to contain customizations so that\n devices can\n use a single vendor image for multiple hardware SKUs. For more information,\n see [ODM partitions](/docs/core/architecture/bootloader/partitions/odm-partitions).\n\n- **`odm_dlkm` partition.** This partition is dedicated to storing ODM kernel\n modules. By storing ODM kernel modules in the this partition, instead of\n the `odm` partition, you can update ODM kernel modules without updating the\n `odm` partition. For more information, see\n [Vendor and ODM DKLM partitions](/docs/core/architecture/partitions/vendor-odm-dlkm-partition).\n\n- **`radio` partition.** This partition contains the radio image and is needed\n only for devices that include a radio with radio-specific software in a\n dedicated partition.\n\n| **Note:** Devices that support seamless updates need two partitions, referred to as *slots* (slot A and slot B) for the `boot`, `system`, `vendor`, and `radio` partitions. For further information, see [Partition selection (slots)](/docs/core/ota/ab#slots).\n\n### Nonupdatable partitions\n\nFollowing is a list of all nonupdatable partitions and their use:\n\n- **`cache` partition.** This partition contains temporary data and is optional\n if your device uses seamless updates. This partition doesn't need to be\n writable from the bootloader, but needs to be erasable. The partition\n size depends on the device type and the availability of space on `userdata`;\n typically, 50 to 100 MB is sufficient.\n\n- **`userdata` partition.** This partition contains user-installed apps and\n data, including customization data.\n\n- **`metadata` partition.** If your device uses [metadata encryption](/docs/security/features/encryption/metadata),\n this partition contains the metadata encryption key. The size of this\n partition is 16 MB or larger, it isn't encrypted, and its data isn't\n snapshotted. This partition is erased when the device is factory reset.\n\nPartition update rules and recommendations\n------------------------------------------\n\nWe recommend updating all system partitions as a whole\nand all vendor partitions as another whole. By updating the set of partitions as\na whole, you can test to verify the interfaces between images in each partition\nremain stable.\n\nRegardless of how you update your partitions, the following partitions must\nbe updated due to tightly coupled dependencies and lack of stable APIs:\n\n- The `boot` and `system_dlkm` partitions\n- the `init_boot`, `system`, `system_ext`, and `product` partitions\n\n| **Note:** If all interfaces between the `product` partition and other system partitions have stable ABIs, you can update the `product` partition independently. For furthe information, see [Maintain ABIs between partitions](/docs/core/architecture/partitions/product-partitions#maintaining-abis).\n\nDynamic partitions\n------------------\n\nDevices running Android 11 and higher can support\ndynamic partitions, which are a userspace partitioning system for Android that\nlets you create, resize, or destroy partitions during over-the-air (OTA)\nupdates. For more information, see [Dynamic partitions](/docs/core/ota/dynamic_partitions).\n\n### Soong product variants\n\nThe [Soong](/docs/setup/build) build system uses image variants to split\nbuild dependencies. Native modules (`/build/soong/cc`) can mutate system\nprocess modules to the core variant and vendor process modules to the\nvendor variant; a module in one image variant can't link to other modules in\na different image variant.\n\nIn Android 12 or higher, a system module with\n`vendor_available: true` creates a vendor variant in addition to the core\nvariant. To create a product variant, `product_available: true` must be\ndefined. Some VNDK libraries without `product_available: true` aren't\navailable to product modules."]]