Yêu cầu cốt lõi đối với nhân hệ điều hành

Android 8.0 trở lên yêu cầu phiên bản hạt nhân và nhân hệ điều hành tối thiểu được xác minh bằng Bộ thử nghiệm nhà cung cấp (VTS) và không dây (OTA). Nhân hệ điều hành trên thiết bị Android phải bật nhân .config hỗ trợ và tuỳ chọn đọc cấu hình hạt nhân trong thời gian chạy thông qua Hệ thống tệp procfs.

Hỗ trợ kernel .config

Tất cả các nhân của thiết bị phải kích hoạt toàn bộ android-base.cfg. Tệp này phải bao gồm các thông tin sau các tuỳ chọn kernel-config (hoặc phiên bản kernel tương đương):

CONFIG_IKCONFIG=y
CONFIG_IKCONFIG_PROC=y

Phiên bản Kernel

Đối với Android 9, tính năng Hỗ trợ dài hạn (LTS) tối thiểu yêu cầu phiên bản kernel là 4.4.107, 4.9.84 và 4.14.42.

  • Tất cả SoC được sản xuất trong năm 2018 phải khởi chạy bằng nhân hệ điều hành 4.9.84 trở lên.
  • Tất cả SoC khác sắp ra mắt thiết bị Android chạy Android 9 phải sử dụng nhân 4.4.107 trở lên.
  • Nhân thiết bị dựa trên 4.14 phải bao gồm LTS 4.14.42 trở lên bản phát hành.
  • Bất kể ngày ra mắt là ngày nào, tất cả SoC có thiết bị đều được phát hành trên Android 8.0 trở lên vẫn phải tuân theo những thay đổi về nhân cần thiết để bật Treble.
  • Các thiết bị Android cũ nâng cấp lên Android 8.0 trở lên có thể tiếp tục lên sử dụng phiên bản nhân hệ điều hành cơ sở ban đầu của chúng.

Để biết thông tin chi tiết về hạt nhân LTS, hãy xem Lâu dài hạt nhân ổn địnhHạt nhân phổ biến của Android

Hỗ trợ Devicetree

Nếu nền tảng không hỗ trợ thông số kỹ thuật Giao diện nguồn và cấu hình nâng cao (ACPI), hỗ trợ devicetree trong nhân và các trình tải khởi động phải truyền mô tả phần cứng ở dạng cây thiết bị cho nhân. Devicetree (Cây thiết bị) cũng phải hỗ trợ Android đọc và phải có khả năng chuyển cho nhà cung cấp và ODM dành riêng cho Android. CONFIG_OF là bắt buộc, cùng với tất cả CONFIG_OF_* dành riêng cho thiết bị và hệ thống con khác tuỳ chọn cấu hình kernel.

Sử dụng DebugFS

Việc triển khai giao diện của nhà cung cấp không thể dựa vào DebugFS hệ thống tệp để truy cập thông tin gỡ lỗi. Đó là vì trong Android 7.0 đến 10, bạn có thể bật DebugFS, nhưng quá trình kiểm tra VTS có thể được thực hiện khi DebugFS được tháo.

Trong Android 11, bạn không thể truy cập hoặc gắn kết DebugFS trên thiết bị chính thức, vì vậy nhà sản xuất thiết bị phải gỡ bỏ những ứng dụng đó. Trước Android 11, dumpstate đã truy cập vào số liệu thống kê về liên kết từ DebugFS. Do các bản dựng người dùng chạy bằng Android 11 trở lên không thể truy cập DebugFS, dumpstate truy cập số liệu thống kê về liên kết từ binderfs. Để bật Binderfs, hãy bật nhân hệ điều hành cấu hình CONFIG_ANDROID_BINDERFS.

Trên Android 11, VTS thực thi 2 yêu cầu sau:

  • CONFIG_DEBUG_FS chưa được bật trong cấu hình nhân của thiết bị.
  • DebugFS không có trong /proc/filesystems.

DebugFS trong Android 11

Bảng sau đây mô tả cách tương tác của từng loại trong số 3 danh mục này được hỗ trợ trên Android 11. Lưu ý rằng các điều kiện sau chỉ áp dụng cho các bản dựng userdebug vì không thể DebugFS được gắn trong bản dựng người dùng. Không bao giờ gắn kết DebugFS trong bản dựng người dùng cho thiết bị khi ra mắt trên Android 11.

Trường hợp sử dụng Bản dựng gỡ lỗi người dùng trên Android 11
Khởi chạy tệp DebugFS một lần trong khi khởi động. Quyền truy cập này chỉ diễn ra một lần trong thời gian khởi động. Nhà cung cấp init sẽ thực hiện việc này.
Tạo báo cáo lỗi: HAL dumpstate đọc DebugFS tệp mà sẽ trở thành một phần của báo cáo lỗi. Được thực hiện bằng HAL dumpstate trong DumpstateBoard() khi được gọi bằng công cụ dumpstate.
Kiểm thử và xác thực theo thiết bị Gốc và shell Adb