Thiết bị Android bao gồm một số phân vùng phục vụ các chức năng khác nhau trong quá trình khởi động.
Phân vùng tiêu chuẩn
phân vùng
boot
. Phân vùng này chứa hình ảnh hạt nhân và được tạo bằngmkbootimg
. Bạn có thể sử dụng phân vùng ảo để flash trực tiếp một trong hai hình ảnh mà không cần flash phân vùng khởi động mới. Phân vùng này cũng chứa đĩa RAM chung trong các thiết bị ra mắt trước Android 13.hạt nhân. Phân vùng
kernel
ảo ghi đè hạt nhân (zImage
,zImage-dtb
,Image.gz-dtb
) bằng cách ghi ảnh hạt nhân mới lên ảnh hạt nhân cũ. Nếu hạt nhân phát triển được cung cấp không tương thích, bạn có thể cần cập nhật phân vùngvendor
,system
hoặcdtb
(nếu có) bằng các mô-đun hạt nhân liên quan.ramdisk. Phân vùng
ramdisk
ảo ghi đè lên đĩa ram bằng cách ghi hình ảnh đĩa ram mới lên hình ảnh đĩa ram cũ.
Thao tác ghi đè xác định vị trí bắt đầu của hình ảnh hiện có trong eMMC và sao chép hình ảnh mới vào vị trí đó. Hình ảnh mới (kernel hoặc ramdisk) có thể lớn hơn hình ảnh hiện có; để tạo khoảng trống, bộ nạp khởi động có thể di chuyển dữ liệu theo hình ảnh hoặc hủy thao tác khi gặp lỗi.
phân vùng
init_boot
. Phân vùng này chứa đĩa RAM chung dành cho các thiết bị chạy Android 13 trở lên.phân vùng
system
. Phân vùng này chứa khung Android.phân vùng
odm
. Phân vùng này chứa các tùy chỉnh của nhà sản xuất thiết kế ban đầu (ODM) cho các gói hỗ trợ bo mạch (BSP) của nhà cung cấp hệ thống trên chip (SoC). Những tùy chỉnh như vậy cho phép ODM thay thế hoặc tùy chỉnh các thành phần SoC và triển khai các mô-đun hạt nhân cho các thành phần, trình nền dành riêng cho bo mạch và các tính năng dành riêng cho ODM trên các lớp trừu tượng phần cứng (HAL). Phân vùng này là tùy chọn; thông thường, nó được sử dụng để chứa các tùy chỉnh để thiết bị có thể sử dụng một hình ảnh nhà cung cấp duy nhất cho nhiều SKU phần cứng. Để biết chi tiết, hãy xem Phân vùng ODM .phân vùng
odm_dlkm
. Phân vùng này được dành riêng để lưu trữ các mô-đun hạt nhân ODM. Việc lưu trữ các mô-đun hạt nhân ODM trong phân vùngodm_dlkm
(ngược lại với phân vùngodm
) giúp có thể cập nhật các mô-đun hạt nhân ODM mà không cần cập nhật phân vùngodm
.phân vùng
recovery
. Phân vùng này lưu trữ hình ảnh khôi phục được khởi động trong quá trình OTA. Các thiết bị hỗ trợ cập nhật liền mạch có thể lưu trữ hình ảnh khôi phục dưới dạng đĩa RAM có trong hình ảnhboot
hoặcinit_boot
(chứ không phải một hình ảnh riêng biệt).cache
. Phân vùng này lưu trữ dữ liệu tạm thời và là tùy chọn nếu thiết bị sử dụng các bản cập nhật liền mạch. Phân vùng bộ nhớ đệm không cần phải ghi được từ bộ nạp khởi động nhưng cần phải xóa được. Kích thước phân vùng phụ thuộc vào loại thiết bị và dung lượng trống trênuserdata
; thông thường, 50 MB–100 MB là đủ.phân vùng
misc
. Phân vùng này được sử dụng bởi phân vùng phục hồi và có kích thước 4 KB hoặc lớn hơn.phân vùng
userdata
. Phân vùng này chứa các ứng dụng và dữ liệu do người dùng cài đặt, bao gồm cả dữ liệu tùy chỉnh.phân vùng
metadata
. Phân vùng này dùng để lưu trữ khóa mã hóa siêu dữ liệu khi thiết bị sử dụng mã hóa siêu dữ liệu . Kích thước là 16 MB hoặc lớn hơn. Nó không được mã hóa và dữ liệu của nó không được chụp nhanh. Nó sẽ bị xóa khi thiết bị được khôi phục cài đặt gốc. Việc sử dụng phân vùng này bị hạn chế nghiêm ngặt.phân vùng
vendor
. Phân vùng này chứa bất kỳ tệp nhị phân nào không thể phân phối được cho AOSP. Nếu thiết bị không chứa thông tin độc quyền, bạn có thể bỏ qua phân vùng này.phân vùng
vendor_dlkm
. Phân vùng này được dành riêng để lưu trữ các mô-đun hạt nhân của nhà cung cấp. Việc lưu trữ các mô-đun hạt nhân của nhà cung cấp trong phân vùngvendor_dlkm
(ngược lại với phân vùngvendor
) giúp có thể cập nhật các mô-đun hạt nhân mà không cần cập nhật phân vùngvendor
.phân vùng
radio
. Phân vùng này chứa hình ảnh radio và chỉ cần thiết cho các thiết bị có radio có phần mềm dành riêng cho radio trong một phân vùng chuyên dụng.phân vùng
tos
. Phân vùng này lưu trữ hình ảnh nhị phân của Trusty OS và chỉ được sử dụng nếu thiết bị có Trusty. Để biết chi tiết, hãy xem Phân vùng TOS .phân vùng
pvmfw
. Phân vùng này lưu trữ Firmware Máy ảo được bảo vệ (pvmfw), đây là mã đầu tiên chạy trong các máy ảo được bảo vệ. Xem Phần sụn máy ảo được bảo vệ để biết thêm chi tiết.
Phân vùng động
Các thiết bị chạy Android 11 trở lên có thể hỗ trợ phân vùng động, là hệ thống phân vùng không gian người dùng dành cho Android cho phép tạo, thay đổi kích thước hoặc hủy phân vùng trong quá trình cập nhật qua mạng (OTA). Để biết chi tiết, hãy xem Phân vùng động .
Chỉ định các phân vùng quan trọng
Nếu thiết bị yêu cầu các phân vùng hoặc dữ liệu cụ thể để chạy, bạn phải chỉ định các phân vùng/dữ liệu đó là được bảo vệ hoàn toàn hoặc có thể flash lại, nghĩa là chúng có thể xây dựng lại, cung cấp hoặc trích xuất được bằng lệnh fastboot oem
. Điều này bao gồm các dữ liệu như cài đặt dành riêng cho từng nhà máy, số sê-ri, dữ liệu hiệu chuẩn, v.v.
Những thay đổi trong Android 11
Android 11 bao gồm nhiều thay đổi đối với phân vùng, bao gồm các hạn chế về liên kết đến thư viện và các biến thể hình ảnh Soong mới.
Hình 1. Bố cục phân vùng trong Android 11
Hình ảnh hệ thống đơn (SSI). Một hình ảnh khái niệm mới chứa hình ảnh
system
vàsystem_ext
. Khi các phân vùng này dùng chung cho một tập hợp thiết bị đích, các thiết bị đó có thể chia sẻ SSI và bỏ qua việc xây dựngsystem
và hình ảnhsystem_ext
.phân vùng
system_ext
. Một phân vùng mới có thể sử dụng tài nguyênsystem
và có thể bao gồm các mô-đun hệ thống:Mở rộng các mô-đun hệ thống AOSP trong phân vùng
system
. Chúng tôi khuyên bạn nên cập nhật các mô-đun đó lên AOSP để có thể cài đặt chúng vào phân vùngsystem
sau này.Gói các mô-đun dành riêng cho OEM hoặc SoC. Chúng tôi khuyên bạn nên tách các mô-đun như vậy để có thể cài đặt chúng vào phân vùng
product
hoặcvendor
.
phân vùng
system
. Hình ảnh hệ thống chung được sử dụng cho các sản phẩm OEM. Chúng tôi khuyên bạn nên di chuyển các mô-đun độc quyền ra khỏi phân vùngsystem
, bằng cách cập nhật chúng lên AOSP hoặc bằng cách di chuyển chúng sang phân vùngsystem_ext
.phân vùng
product
. Phân vùng này hiện có thể sử dụng các giao diện được phép để cài đặt các mô-đun dành riêng cho sản phẩm không đi kèm với bất kỳ phân vùng nào khác.
VNĐK thay đổi
Bộ công cụ phát triển gốc của nhà cung cấp (VNK) là một bộ thư viện được cài đặt trong phân vùng system
và được thiết kế dành riêng cho các nhà cung cấp triển khai HAL của họ.
Ở Android 10 trở xuống, phân vùng
vendor
có thể liên kết với các thư viện VNĐK trong phân vùngsystem
, nhưng không thể liên kết với các thư viện khác trong phân vùngsystem
. Các mô-đun gốc trong phân vùngproduct
có thể liên kết với bất kỳ thư viện nào trong phân vùngsystem
.Ở Android 11 trở lên, phân vùng
product
vàvendor
có thể liên kết với thư viện VNĐK trong phân vùngsystem
, nhưng không thể liên kết với các thư viện khác trong phân vùngsystem
.
Các biến thể của sản phẩm Soong
Hệ thống xây dựng Soong sử dụng các biến thể hình ảnh để phân chia các phần phụ thuộc của bản dựng. Các mô-đun gốc ( /build/soong/cc
) có thể chuyển đổi các mô-đun quy trình hệ thống thành biến thể cốt lõi và các mô-đun quy trình của nhà cung cấp thành biến thể của nhà cung cấp; mô-đun trong một biến thể hình ảnh không thể liên kết với các mô-đun khác trong biến thể hình ảnh khác.
Trong Android 10 trở xuống, mô-đun hệ thống sẽ tự động tạo các biến thể cốt lõi. Nó cũng có thể tạo các biến thể của nhà cung cấp bằng cách xác định
vendor_available: true
trong các tệpAndroid.bp
của nó; điều này cho phép các mô-đun của nhà cung cấp liên kết với các mô-đun hệ thống. Thư viện VNDK, là các biến thể của nhà cung cấp của thư việnsystem
, cũng có thể tạo các biến thể của nhà cung cấp cho mô-đun nhà cung cấp bằng cách xác địnhvendor_available: true
trong các tệpAndroid.bp
của nó (xem ví dụ ).Trong Android 11, mô-đun hệ thống cũng có thể tạo một biến thể sản phẩm (ngoài các biến thể cốt lõi và biến thể của nhà cung cấp) bằng cách xác định
vendor_available: true
.Trong Android 12 trở lên, mô-đun hệ thống có
vendor_available: true
sẽ tạo ra một biến thể của nhà cung cấp bên cạnh biến thể cốt lõi. Để tạo một biến thể sản phẩm, bạn phải xác địnhproduct_available: true
. Một số thư viện VNĐK khôngproduct_available: true
thì không có sẵn cho mô-đun sản phẩm.