Android 8.0 trở lên bắt buộc phải có phiên bản hạt nhân và cấu hình hạt nhân tối thiểu, được xác minh bằng Bộ kiểm tra nhà cung cấp (VTS) và các bản cập nhật qua mạng (OTA). Nhân thiết bị Android phải kích hoạt hỗ trợ kernel .config
và tùy chọn đọc cấu hình kernel khi chạy thông qua hệ thống tệp procfs
.
Hỗ trợ hạt nhân .config
Tất cả các hạt nhân của thiết bị phải kích hoạt toàn bộ android-base.cfg , phải bao gồm các tùy chọn kernel-config sau (hoặc phiên bản kernel tương đương của chúng):
CONFIG_IKCONFIG=y CONFIG_IKCONFIG_PROC=y
Phiên bản hạt nhân
Đối với Android 9, yêu cầu phiên bản kernel Hỗ trợ dài hạn (LTS) tối thiểu là 4.4.107, 4.9.84 và 4.14.42.
- Tất cả các SoC được sản xuất vào năm 2018 phải khởi chạy với kernel 4.9.84 trở lên.
- Tất cả các SoC khác chạy thiết bị Android chạy Android 9 đều phải sử dụng kernel 4.4.107 trở lên.
- Nhân thiết bị dựa trên 4.14 phải bao gồm bản phát hành LTS 4.14.42 trở lên.
- Bất kể ngày ra mắt, tất cả các SoC có thiết bị khởi chạy trên Android 8.0 trở lên vẫn phải tuân theo những thay đổi về kernel cần thiết để bật Treble.
- Các thiết bị Android cũ hơn nâng cấp lên Android 8.0 trở lên có thể tiếp tục sử dụng phiên bản kernel cơ sở ban đầu của chúng.
Để biết chi tiết về hạt nhân LTS, hãy xem Hạt nhân ổn định lâu dài và Hạt nhân phổ biến của Android
Hỗ trợ thiết bị
Nếu nền tảng không hỗ trợ đặc tả Cấu hình nâng cao và Giao diện nguồn (ACPI) , hỗ trợ cây thiết bị trong hạt nhân phải được bật và bộ tải khởi động phải chuyển mô tả phần cứng dưới dạng cây thiết bị tới hạt nhân. Cây thiết bị cũng phải có sẵn để Android đọc và nó phải có khả năng chuyển các tham số dành riêng cho nhà cung cấp và ODM cho Android. CONFIG_OF
là bắt buộc, cùng với tất cả các tùy chọn cấu hình kernel CONFIG_OF_*
dành riêng cho thiết bị và hệ thống con cụ thể khác.
Sử dụng DebugFS
Việc triển khai giao diện nhà cung cấp không thể dựa vào hệ thống tệp DebugFS
để truy cập thông tin gỡ lỗi. Đó là vì trong Android 7.0–10, DebugFS
có thể được bật nhưng việc kiểm tra VTS có thể được thực hiện khi chưa ngắt kết nối DebugFS
.
Trong Android 11, DebugFS
không thể truy cập hoặc gắn trên các thiết bị sản xuất nên nhà sản xuất thiết bị phải loại bỏ nó. Trước Android 11, số liệu thống kê về chất kết dính đã truy cập dumpstate
từ DebugFS
. Vì các bản dựng của người dùng khởi chạy bằng Android 11 trở lên không thể truy cập DebugFS
, nên dumpstate
truy cập số liệu thống kê về chất liên kết từ binderfs
. Để bật Binderfs
, hãy bật cấu hình kernel CONFIG_ANDROID_BINDERFS
.
Trong Android 11, VTS thực thi hai yêu cầu sau:
-
CONFIG_DEBUG_FS
chưa được bật trong cấu hình kernel của thiết bị. -
DebugFS
không được liệt kê trong/proc/filesystems
.
Gỡ lỗiFS trong Android 11
Bảng sau đây mô tả cách hỗ trợ từng danh mục trong số ba danh mục này trong Android 11. Lưu ý rằng nội dung sau chỉ áp dụng cho các bản dựng userdebug vì không thể gắn DebugFS
trong các bản dựng người dùng. Không bao giờ gắn DebugFS
vào bản dựng của người dùng đối với các thiết bị khởi chạy trên Android 11.
Trường hợp sử dụng | Bản dựng gỡ lỗi người dùng Android 11 |
---|---|
Khởi tạo tệp DebugFS một lần, trong khi khởi động . Quyền truy cập này chỉ xảy ra một lần trong thời gian khởi động. | Nhà cung cấp init thực hiện việc này. |
Tạo báo cáo lỗi : HAL dumpstate đọc các tệp DebugFS , tệp này trở thành một phần của báo cáo lỗi. | Được thực hiện bởi dumpstate HAL trong DumpstateBoard() khi được gọi bằng công cụ dumpstate. |
Kiểm tra và xác nhận dành riêng cho thiết bị | Adb gốc và vỏ |