Tổng quan về hạt nhân

Nhân Android dựa trên nhân Linux được hỗ trợ dài hạn (LTS) ngược dòng. Tại Google, nhân LTS được kết hợp với các bản vá dành riêng cho Android để tạo thành cái được gọi là Hạt nhân chung của Android (ACK) .

Các ACK mới hơn (phiên bản 5.4 trở lên) còn được gọi là hạt nhân GKI . Hạt nhân GKI hỗ trợ việc tách mã hạt nhân chungcác mô-đun GKI khỏi các mô-đun của nhà cung cấp phần cứng cụ thể.

Nhân GKI tương tác với các mô-đun của nhà cung cấp phần cứng cụ thể chứa hệ thống trên chip (SoC) và mã dành riêng cho bo mạch. Sự tương tác giữa hạt nhân GKI và các mô-đun của nhà cung cấp được kích hoạt bởi Giao diện mô-đun hạt nhân (KMI) bao gồm các danh sách ký hiệu xác định các chức năng và dữ liệu chung mà các mô-đun của nhà cung cấp yêu cầu. Hình 1 cho thấy kiến ​​trúc mô-đun nhà cung cấp và hạt nhân GKI:

Kiến trúc GKI
Hình 1. Kiến trúc GKI

Thuật ngữ hạt nhân

Phần này chứa các thuật ngữ được sử dụng xuyên suốt tài liệu kernel.

Các loại hạt nhân

Hạt nhân chung của Android (ACK)
Một hạt nhân nằm ở cuối hạt nhân LTS và bao gồm các bản vá mà cộng đồng Android quan tâm chưa được hợp nhất vào hạt nhân dòng chính của Linux hoặc hạt nhân được hỗ trợ dài hạn (LTS). Các ACK mới hơn (phiên bản 5.4 trở lên) còn được gọi là hạt nhân GKI vì chúng hỗ trợ tách mã hạt nhân chung bất khả tri về phần cứng và các mô-đun GKI bất khả tri về phần cứng.
Hạt nhân Dự án mã nguồn mở Android (AOSP)
Xem Hạt nhân chung của Android.
Hạt nhân tính năng
Một hạt nhân mà các tính năng phát hành nền tảng được đảm bảo sẽ được triển khai. Ví dụ: trong Android 12, hai hạt nhân tính năng là android12-5.4 và android12-5.10. Các tính năng của Android 12 không thể được chuyển sang hạt nhân 4.19; bộ tính năng sẽ tương tự như một thiết bị ra mắt với phiên bản 4.19 trên R và được nâng cấp lên S).
hạt nhân lõi chung
Phần nhân GKI phổ biến trên tất cả các thiết bị.
Hạt nhân hình ảnh hạt nhân chung (GKI)
Bất kỳ hạt nhân ACK nào mới hơn (5.4 trở lên) (hiện chỉ có aarch64). Hạt nhân này có hai phần: Hạt nhân GKI cốt lõi với mã chung trên tất cả các thiết bị và mô-đun GKI do Google phát triển có thể được tải động trên các thiết bị nếu có.
Hạt nhân Giao diện mô-đun hạt nhân (KMI)
Xem hạt nhân GKI .
Khởi chạy hạt nhân
Hạt nhân hợp lệ để khởi chạy một thiết bị cho một bản phát hành nền tảng Android nhất định. Ví dụ: trong Android 12, các hạt nhân khởi chạy hợp lệ là 4.19, 5.4 và 5.10.
Hạt nhân được hỗ trợ dài hạn (LTS)
Nhân Linux được hỗ trợ từ 2 đến 6 năm. Hạt nhân LTS được phát hành mỗi năm một lần và là cơ sở cho mỗi ACK của Google.

Các loại chi nhánh

Nhánh hạt nhân ACK KMI
Nhánh mà hạt nhân GKI được xây dựng. Ví dụ: android12-5.10 và android13-5.15.
Android-chính tuyến
Nhánh phát triển chính cho các tính năng của Android. Khi một hạt nhân LTS mới được khai báo ngược dòng, hạt nhân GKI mới tương ứng sẽ được phân nhánh từ dòng chính android.
Dòng chính của Linux
Nhánh phát triển chính cho các hạt nhân Linux thượng nguồn, bao gồm cả hạt nhân LTS.

Các điều khoản khác

Hình ảnh khởi động được chứng nhận
Hạt nhân được phân phối ở dạng nhị phân ( boot.img ) và được flash vào thiết bị. Hình ảnh này được chứng nhận theo nghĩa là nó chứa các chứng chỉ nhúng để Google có thể xác minh rằng thiết bị có hạt nhân được Google chứng nhận.
Mô-đun hạt nhân có thể tải động (DLKM)
Một mô-đun có thể được tải động trong quá trình khởi động thiết bị tùy thuộc vào nhu cầu của thiết bị. Mô-đun GKI và nhà cung cấp đều là loại DLKM. DLKM được phát hành ở dạng .ko và có thể là trình điều khiển hoặc có thể cung cấp chức năng hạt nhân khác.
dự án GKI
Một dự án của Google giải quyết vấn đề phân mảnh hạt nhân bằng cách tách chức năng hạt nhân lõi thông thường khỏi hỗ trợ bo mạch và SoC dành riêng cho nhà cung cấp thành các mô-đun có thể tải được.
Hình ảnh hạt nhân chung (GKI)
Hình ảnh khởi động được Google chứng nhận có chứa nhân GKI được xây dựng từ cây nguồn ACK và phù hợp để flash vào phân vùng khởi động của thiết bị Android.
KMI
Giao diện giữa hạt nhân GKI và các mô-đun nhà cung cấp cho phép các mô-đun nhà cung cấp được cập nhật độc lập với hạt nhân GKI. Giao diện này bao gồm các hàm kernel và dữ liệu chung đã được xác định là phụ thuộc của nhà cung cấp/OEM bằng cách sử dụng danh sách ký hiệu của mỗi đối tác.
mô-đun GKI
Các mô-đun hạt nhân do Google xây dựng có thể được tải động trên các thiết bị nếu có. Các mô-đun này được xây dựng dưới dạng thành phần tạo tác của nhân GKI và được phân phối cùng với GKI dưới dạng kho lưu trữ system_dlkm_staging_archive.tar.gz . Các mô-đun GKI được Google ký bằng cặp khóa thời gian xây dựng hạt nhân và chỉ tương thích với hạt nhân GKI mà chúng được tạo cùng.
Mô-đun nhà cung cấp
Một mô-đun dành riêng cho phần cứng do đối tác phát triển và chứa SoC cũng như chức năng dành riêng cho thiết bị. Mô-đun nhà cung cấp là một loại mô-đun hạt nhân có thể tải động.

Cái gì tiếp theo?