Dự án Hình ảnh hạt nhân chung (GKI)

Trang này mô tả dự án Hình ảnh hạt nhân chung (GKI) và cách dự án này tăng cường độ ổn định của Android cũng như cải thiện tính bảo mật.

Nhật ký

Mọi thiết bị chạy Android đều cần có nhân phát hành chính thức. Trước GKI, các hạt nhân được tuỳ chỉnh và dựa trên Hạt nhân Android phổ biến (ACK), với các thay đổi dành riêng cho thiết bị do các nhà cung cấp hệ thống trên chip (SoC) và OEM thực hiện.

Việc tuỳ chỉnh này có thể khiến tới 50% mã hạt nhân là mã ngoài cây và không phải từ các hạt nhân Linux hoặc ACK thượng nguồn. Do đó, bản chất tuỳ chỉnh của các hạt nhân trước GKI đã dẫn đến sự phân mảnh hạt nhân đáng kể.

Chi phí phân mảnh

Tình trạng phân mảnh hạt nhân có một số tác động tiêu cực đối với cộng đồng Android.

Bản cập nhật bảo mật tốn nhiều công sức

Các bản vá bảo mật được trích dẫn trong Bản tin bảo mật Android (ASB) phải được điều chỉnh cho phiên bản cũ vào mỗi hạt nhân thiết bị. Tuy nhiên, do tình trạng phân mảnh hạt nhân, nên việc truyền tải các bản sửa lỗi bảo mật đến các thiết bị Android trong thực tế sẽ rất tốn kém.

Khó hợp nhất các bản cập nhật được hỗ trợ lâu dài

Các bản phát hành Được hỗ trợ dài hạn (LTS) bao gồm các bản sửa lỗi bảo mật và các bản sửa lỗi quan trọng khác. Việc cập nhật các bản phát hành LTS đã được chứng minh là cách hiệu quả nhất để cung cấp các bản sửa lỗi bảo mật. Trên các thiết bị Pixel, chúng tôi phát hiện ra rằng 90% vấn đề bảo mật liên quan đến nhân hệ điều hành được báo cáo trong ASB đã được khắc phục cho các thiết bị luôn cập nhật.

Tuy nhiên, với tất cả các nội dung sửa đổi tuỳ chỉnh trong hạt nhân thiết bị, bạn khó có thể chỉ hợp nhất các bản sửa lỗi LTS vào hạt nhân thiết bị.

Ngăn chặn việc nâng cấp bản phát hành nền tảng Android

Tình trạng phân mảnh khiến các tính năng mới của Android yêu cầu thay đổi nhân hệ điều hành khó được thêm vào các thiết bị trong thực tế. Mã Khung Android phải tính đến nhiều biến thể hạt nhân và không thể dựa vào các tính năng Android mới được triển khai trong hạt nhân. Điều này làm chậm quá trình đổi mới và làm tăng kích thước mã cũng như độ phức tạp.

Khó đóng góp các thay đổi về nhân trở lại Linux ngược dòng

Cách phân mảnh để kéo các bản vá vào nhân phát hành chính thức đã gây ra độ trễ lên đến 18 tháng từ thời điểm bản phát hành LTS có sẵn ở thượng nguồn đến thời điểm bản phát hành LTS có trong thiết bị. Khoảng thời gian trễ dài giữa bản phát hành nhân cấp trên và sản phẩm khiến cộng đồng Android khó có thể cung cấp các tính năng và trình điều khiển cần thiết vào nhân cấp trên. Vào thời điểm người dùng gửi đề xuất cải tiến, cơ sở mã đã thay đổi, khiến việc thể hiện mức độ liên quan của bản vá trở nên khó khăn.

Khắc phục tình trạng phân mảnh: Hình ảnh hạt nhân chung

Dự án Hình ảnh nhân chung (GKI) giải quyết tình trạng phân mảnh nhân bằng cách thống nhất nhân cốt lõi và di chuyển tính năng hỗ trợ SoC và bo mạch ra khỏi nhân cốt lõi vào các mô-đun nhà cung cấp có thể tải. GKI cũng cung cấp một Giao diện mô-đun nhân (KMI) ổn định cho các mô-đun của nhà cung cấp, nhờ đó, các mô-đun và nhân có thể được cập nhật độc lập. Một số đặc điểm của hạt nhân GKI là:

  • Hạt nhân GKI được tạo từ các nguồn ACK.
  • Hạt nhân GKI là một tệp nhị phân hạt nhân đơn cùng với các mô-đun có thể tải được liên kết theo từng cấu trúc, theo từng bản phát hành LTS.
  • Hạt nhân GKI được kiểm thử bằng tất cả các bản phát hành Nền tảng Android được hỗ trợ cho ACK liên kết. Không có tính năng nào bị ngừng sử dụng trong suốt thời gian hoạt động của phiên bản hạt nhân GKI.
  • Hạt nhân GKI hiển thị một KMI ổn định cho trình điều khiển trong một LTS nhất định.
  • Hạt nhân GKI không chứa mã dành riêng cho SoC hoặc dành riêng cho bo mạch.

Để xem hình ảnh về kiến trúc GKI, hãy tham khảo bài viết Tổng quan về nhân.

Hình ảnh phổ biến

Kể từ Android 12, các thiết bị xuất xưởng với hạt nhân phiên bản 5.10 trở lên phải xuất xưởng với hạt nhân GKI. Các bản phát hành Hình ảnh hạt nhân chung (GKI) được cập nhật thường xuyên và thường xuyên được cập nhật với LTS và bản sửa lỗi quan trọng. Vì KMI duy trì độ ổn định của tệp nhị phân, nên bạn có thể cài đặt các hình ảnh khởi động này mà không cần thay đổi hình ảnh của nhà cung cấp. Dự án GKI có các mục tiêu sau:

  • Không đưa ra các hồi quy hiệu suất hoặc năng lượng đáng kể khi thay thế hạt nhân sản phẩm bằng hạt nhân GKI.
  • Cho phép đối tác phân phối bản sửa lỗi bảo mật và bản sửa lỗi hạt nhân mà không cần nhà cung cấp tham gia.
  • Giảm chi phí nâng cấp phiên bản nhân chính cho thiết bị.
  • Duy trì một tệp nhị phân hạt nhân GKI cho mỗi cấu trúc bằng cách cập nhật các phiên bản hạt nhân với quy trình nâng cấp rõ ràng.