Quy trình phát hành Hình ảnh hạt nhân chung (GKI)

Tài liệu này mô tả cách phát hành GKI, bao gồm cả các bản phát hành khẩn cấp hằng tuần, hằng tháng và ngoài phạm vi. Mục tiêu của tài liệu này là đưa ra hướng dẫn cho OEM (Nhà sản xuất thiết bị gốc) về nơi nhận GKI, cũng như quy trình khắc phục các trường hợp khẩn cấp ngoài băng tần. OEM cũng có thể tham khảo Hướng dẫn phát triển GKI để tìm hiểu thêm về cách làm việc với nhóm Android Kernel nhằm tối ưu hoá hạt nhân GKI cho sản phẩm của họ.

Tần suất phát hành GKI

GKI được phát hành theo tần suất hằng tháng sau khi KMI tạm ngưng hoạt động.

Bản phát hành GKI Android 13, 14 và 15

Bảng sau đây chỉ áp dụng cho android13-5.10, android13-5.15android14-6.1.

Bản dựng được GKI chứng nhận hằng tháng Hạn chót nhận phòng Ngày sẵn sàng tải trước GKI Đã xác nhận?
Tháng 10 Ngày 14 tháng 10 năm 2022 Ngày 31 tháng 10 năm 2022
Tháng 11 Ngày 14 tháng 11 năm 2022 Ngày 30 tháng 11 năm 2022
Tháng 12 Ngày 9 tháng 12 năm 2022 Ngày 21 tháng 12 năm 2022
Tháng 1 Ngày 17 tháng 1 năm 2023 Ngày 31 tháng 1 năm 2023
Tháng 2 Ngày 15 tháng 2 năm 2023 Ngày 28 tháng 2 năm 2023
Tháng 3 Ngày 15 tháng 3 năm 2023 Ngày 31 tháng 3 năm 2023
Tháng 4 Ngày 13 tháng 4 năm 2023 Ngày 28 tháng 4 năm 2023
Tháng 5 Ngày 17 tháng 5 năm 2023 Ngày 31 tháng 5 năm 2023
Tháng 6 Ngày 15 tháng 6 năm 2023 Ngày 30 tháng 6 năm 2023
Tháng 7 Ngày 18 tháng 7 năm 2023 ngày 31 tháng 7 năm 2023
Tháng 8 Ngày 16 tháng 8 năm 2023 Ngày 31 tháng 8 năm 2023
Tháng 9 Ngày 14 tháng 9 năm 2023 Ngày 29 tháng 9 năm 2023
Tháng 10 Ngày 18 tháng 10 năm 2023 Ngày 31 tháng 10 năm 2023
Tháng 11 Ngày 10 tháng 11 năm 2023 Ngày 30 tháng 11 năm 2023
Tháng 12 Ngày 7 tháng 12 năm 2023 Ngày 22 tháng 12 năm 2023
Tháng 1 Ngày 16 tháng 1 năm 2024 Ngày 31 tháng 1 năm 2024
Tháng 2 Ngày 13 tháng 2 năm 2024 Ngày 29 tháng 2 năm 2024
Tháng 3 Ngày 13 tháng 3 năm 2024 Ngày 29 tháng 3 năm 2024
Tháng 4 Ngày 16 tháng 4 năm 2024 Ngày 30 tháng 4 năm 2024
Tháng 5 Ngày 14 tháng 5 năm 2024 Ngày 31 tháng 5 năm 2024
Tháng 6 Ngày 12 tháng 6 năm 2024 Ngày 28 tháng 6 năm 2024
Tháng 7 Ngày 16 tháng 7 năm 2024 Ngày 31 tháng 7 năm 2024
Tháng 8 Ngày 15 tháng 8 năm 2024 Ngày 30 tháng 8 năm 2024
Tháng 9 Ngày 17 tháng 9 năm 2024 Ngày 30 tháng 9 năm 2024
Tháng 10 Ngày 15 tháng 10 năm 2024 Ngày 31 tháng 10 năm 2024
Tháng 11 Ngày 11 tháng 11 năm 2024 Ngày 27 tháng 11 năm 2024
Tháng 12 Ngày 6 tháng 12 năm 2024 Ngày 23 tháng 12 năm 2024

Kể từ tháng 1 năm 2024, chúng tôi sẽ tiếp tục phát hành android14-5.15 hằng tháng theo tần suất hằng tháng như nêu trong bảng bên dưới. android15-6.6 vẫn sẽ tiếp tục phát hành theo lịch trình như cũ, bắt đầu từ tháng 7 năm 2024.

Bản dựng được GKI chứng nhận hằng tháng Hạn chót nhận phòng Ngày sẵn sàng tải trước GKI Đã xác nhận?
Tháng 1 Ngày 16 tháng 1 năm 2024 Ngày 31 tháng 1 năm 2024
Tháng 2 Ngày 13 tháng 2 năm 2024 Ngày 29 tháng 2 năm 2024
Tháng 3 Ngày 4 tháng 3 năm 2024 Ngày 15 tháng 3 năm 2024
Tháng 4 Ngày 1 tháng 4 năm 2024 Ngày 17 tháng 4 năm 2024
Tháng 5 Ngày 1 tháng 5 năm 2024 Ngày 17 tháng 5 năm 2024
Tháng 6 Ngày 3 tháng 6 năm 2024 Ngày 17 tháng 6 năm 2024
Tháng 7 Ngày 1 tháng 7 năm 2024 Ngày 15 tháng 7 năm 2024
Tháng 8 Ngày 1 tháng 8 năm 2024 Ngày 16 tháng 8 năm 2024
Tháng 9 Ngày 2 tháng 9 năm 2024 Ngày 16 tháng 9 năm 2024
Tháng 10 Ngày 1 tháng 10 năm 2024 Ngày 14 tháng 10 năm 2024
Tháng 11 Ngày 1 tháng 11 năm 2024 Ngày 15 tháng 11 năm 2024
Tháng 12 Ngày 2 tháng 12 năm 2024 Ngày 16 tháng 12 năm 2024

Bản phát hành GKI Android 12

Sau tháng 5 năm 2024, các bản phát hành android12-5.10 GKI sẽ theo tần suất hằng quý và được phát hành vào giữa tháng. Bảng sau đây chỉ áp dụng cho android12-5.10.

Bản dựng được GKI chứng nhận hằng tháng Hạn chót nhận phòng Ngày sẵn sàng tải trước GKI Đã xác nhận?
Tháng 7 Ngày 3 tháng 7 năm 2023 Ngày 14 tháng 7 năm 2023
Tháng 9 Ngày 1 tháng 9 năm 2023 Ngày 15 tháng 9 năm 2023
Tháng 11 Ngày 3 tháng 11 năm 2023 Ngày 17 tháng 11 năm 2023
Tháng 1 Ngày 5 tháng 1 năm 2024 Ngày 19 tháng 1 năm 2024
Tháng 3 Ngày 4 tháng 3 năm 2024 Ngày 15 tháng 3 năm 2024
Tháng 5 Ngày 1 tháng 5 năm 2024 Ngày 17 tháng 5 năm 2024
Tháng 8 Ngày 1 tháng 8 năm 2024 Ngày 16 tháng 8 năm 2024
Tháng 11 Ngày 1 tháng 11 năm 2024 Ngày 15 tháng 11 năm 2024
Tháng 2 Ngày 3 tháng 2 năm 2025 Ngày 17 tháng 2 năm 2025

Tính hợp lệ của bản dựng GKI cho OEM (Nhà sản xuất thiết bị gốc)

Nhà sản xuất thiết bị gốc có thể sử dụng GKI Android mới phát hành. OEM có thể chạy các bản dựng được GKI chứng nhận, miễn là các bản dựng đó tuân thủ các yêu cầu LTS trong Bản tin về bảo mật Android (ASB).

Bản phát hành hoạt động phát triển hằng tuần

Các bản phát hành được kiểm thử bằng mực nhỏ để đảm bảo đạt được tiêu chuẩn chất lượng tối thiểu.

Bạn có thể tự phục vụ các tệp nhị phân GKI trên ci.android.com khi các thay đổi được hợp nhất. Các bản dựng hằng tuần sẽ không được chứng nhận, nhưng có thể dùng làm cơ sở cho việc phát triển và kiểm thử. Bạn không thể sử dụng bản dựng hằng tuần cho bản dựng trên thiết bị chính thức của người dùng cuối.

Bản phát hành được chứng nhận hằng tháng

Các bản phát hành hằng tháng của GKI chứa một boot.img được kiểm thử, trong đó có chứng chỉ do Google chèn để chứng thực rằng tệp nhị phân được tạo từ một đường cơ sở của mã nguồn đã biết.

Mỗi tháng, một đề xuất phát hành hằng tháng của GKI (không được chứng nhận) sẽ được chọn sau ngày hết hạn nhận phòng, thường là bản dựng hằng tuần thứ hai của tháng đó. Sau khi chọn đề xuất phát hành hằng tháng, những thay đổi mới sẽ không được chấp nhận trong bản phát hành của tháng đó. Trong thời gian đóng cửa sổ, bạn chỉ có thể giải quyết các bản sửa lỗi gây ra thất bại trong kiểm thử. Bản phát hành dùng thử phải trải qua quy trình bảo đảm chất lượng (như mô tả trong mục đủ điều kiện của GKI) để đảm bảo các thử nghiệm tuân thủ đạt trên bản dựng GSI+GKI cùng với một thiết bị tham chiếu cũng như mực nang.

Tiến trình phát hành GKI Hình 1. Tiến trình phát hành GKI

Quy trình khôi phục khẩn cấp

respin là quá trình hợp nhất, tạo lại, kiểm thử lại và chứng nhận lại một tệp nhị phân sau khi phát hành công khai hạt nhân GKI. Bạn có thể yêu cầu tạo lại tệp nhị phân được chứng nhận cho bất kỳ trường hợp nào sau đây:

  • Để cập nhật danh sách biểu tượng.
  • Để áp dụng bản sửa lỗi cho một lỗi, bao gồm cả các lỗi phát hiện được trong quá trình phê duyệt phòng thí nghiệm của nhà mạng.
  • Cách thêm hook của nhà cung cấp.
  • Để áp dụng bản vá cho một tính năng hiện có.
  • Để áp dụng bản vá bảo mật (sau 6 tháng).

Các bản vá bảo mật được tự động hợp nhất vào một nhánh phát hành trong tối đa 6 tháng sau khi nhánh phát hành. Sau hạn chót 6 tháng, bạn phải yêu cầu kích hoạt lại để áp dụng các bản vá bảo mật cho một nhánh.

Trước khi yêu cầu ghim lại, hãy lưu ý các nguyên tắc sau:

  • Bạn chỉ được phép sử dụng Respin trên các nhánh phát hành sau khi ra mắt bản phát hành công khai ban đầu của bản dựng hằng tháng.

  • Yêu cầu trả lại chỉ được chấp nhận đối với một nhánh phát hành nhất định trong tối đa 6 tháng sau bản phát hành công khai ban đầu. Sau 6 tháng, các nhánh sẽ chỉ đủ điều kiện để khôi phục lại các bản vá bảo mật được trích dẫn trong một Bản tin về bảo mật Android.

  • Khi yêu cầu LTS (được xác định theo Bản tin về bảo mật trên Android (ASB)) khiến nhánh đó không tuân thủ, thì nhánh đó sẽ không được dùng nữa. Yêu cầu trả về cho các nhánh không dùng nữa không được chấp nhận. Ngày ngừng sử dụng một nhánh phát hành GKI nhất định có trong ghi chú bản phát hành GKI hằng tháng trong phần Bản phát hành. Để lập kế hoạch trong tương lai, các yêu cầu LTS được cập nhật vào tháng 5 và tháng 11 hằng năm. Ví dụ: nhánh android12-5.10-2023-07 (5.10.177) không được hỗ trợ cho respin sau ngày 1 tháng 5 năm 2024, vì nhánh android12-5.10-2023-07 (5.10.177) không tuân thủ các yêu cầu LTS của ASB-2024-05.

  • Tính năng Respin chỉ áp dụng cho các bản sửa lỗi khẩn cấp, cập nhật danh sách biểu tượng hoặc áp dụng bản vá để khắc phục một tính năng hiện có.

  • Tất cả các bản vá đi vào nhánh phát hành hằng tháng phải được hợp nhất vào nhánh phát triển GKI chính. Ví dụ: nếu cần một bản vá để trả về android12-5.10-2022-09, thì bản vá đó phải được hợp nhất vào android12-5.10.

  • Bạn phải chọn các bản vá từ nhánh phát triển GKI chính và tải bản vá lên nhánh phát hành hằng tháng.

  • Trong yêu cầu trả về, bạn phải chỉ định mức độ ưu tiên (khẩn cấp) cho yêu cầu. Ưu tiên này giúp nhóm GKI hỗ trợ đối tác kịp thời hơn, hiệu quả hơn. Đối với các yêu cầu quan trọng hoặc khẩn cấp, hãy đánh dấu mức độ ưu tiên là P0. Đối với yêu cầu P0 và P1, bạn cũng phải chứng minh tính khẩn cấp. Bảng sau đây liên kết mức độ ưu tiên của lỗi và thời gian giải quyết lỗi (ESRT):

    Mức độ ưu tiên Tiếng ESRT
    P0 2 ngày làm việc
    P1 5 ngày làm việc
    P2 10 ngày làm việc
    P3 15 ngày làm việc
  • Bạn phải gửi yêu cầu trả lại riêng cho từng nhánh phát hành. Ví dụ: nếu cần một respin cho cả android12-5.10-2022-08android12-5.10-2022-09, bạn phải tạo 2 yêu cầu respin.

  • Sau khi cung cấp bản dựng và yêu cầu trả lại được đánh dấu là đã khắc phục, bạn không nên mở lại yêu cầu trả lại để thêm CL bổ sung. Bạn phải gửi yêu cầu khôi phục mới nếu cần hợp nhất các bản vá khác.

  • Đối với mỗi CL đang được xem xét, hãy thêm các thẻ sau. Tiến trình trên yêu cầu ghim lại sẽ bị chặn nếu không có thông tin này.

    • Bug: bạn phải thêm mã lỗi vào thông báo cam kết cho mỗi CL.
    • Change-Id: phải giống với Mã thay đổi của việc thay đổi nhánh cơ sở.
  • Nếu yêu cầu trả lại yêu cầu bạn phản hồi và bạn không phản hồi trong vòng 3 ngày làm việc, thì mức độ ưu tiên sẽ bị hạ cấp xuống một cấp (ví dụ: P0 bị hạ cấp xuống P1). Nếu bạn không phản hồi trong 2 tuần, lỗi sẽ được đánh dấu là Không khắc phục (Lỗi thời).

Gửi yêu cầu trả lại

Sơ đồ dưới đây minh hoạ quy trình trả lại. Quá trình này bắt đầu khi Đối tác OEM (bạn) gửi yêu cầu khôi phục.

Quy trình khôi phục khẩn cấp Hình 2. Quá trình trả lại

Cách tham gia quy trình trả lại:

  1. Điền vào biểu mẫu yêu cầu gửi lại GKI và liên hệ ngay với Nhà quản lý tài khoản hỗ trợ kỹ thuật của Google. Biểu mẫu này tạo lỗi yêu cầu trả về GKI. Bạn (người yêu cầu), nhóm GKI và những cá nhân cụ thể mà bạn thêm lỗi vào danh sách CC của lỗi sẽ thấy được lỗi yêu cầu trả về.
    • Nếu bạn đã có bản sửa lỗi, yêu cầu này phải trỏ đến bản vá gửi trong AOSP để Google có thể xem xét bản vá đó. Nếu không thể gửi bản vá, bạn phải đính kèm bản vá dưới dạng tệp văn bản vào yêu cầu.
    • Nếu bạn chưa khắc phục vấn đề, yêu cầu phải cung cấp nhiều thông tin nhất có thể, bao gồm cả số phiên bản hạt nhân và nhật ký, để Google có thể giúp gỡ lỗi.
  2. Nhóm Google GKI sẽ xem xét và phê duyệt hoặc chỉ định lại yêu cầu đó cho bạn nếu cần thêm thông tin.
  3. Sau khi thống nhất cách khắc phục, nhóm Google GKI sẽ xem xét mã (CR+2) thay đổi đó. Quá trình xem xét bắt đầu theo khung thời gian ESRT. Nhóm GKI hợp nhất, xây dựng, kiểm thử quá trình hồi quy và chứng nhận thay đổi.
  4. Tệp nhị phân được phát hành trên ci.android.com. Khung thời gian ESRT kết thúc và nhóm Google GKI đánh dấu yêu cầu là cố định và tham chiếu đến bản dựng phản hồi. Bản dựng respin cũng được đăng trên trang bản phát hành Hình ảnh hạt nhân chung (GKI).

Điều kiện của GKI

Các loại bản dựng GKI Thực thi chất lượng Ghi chú
Hằng tuần Kiểm tra mực nang
  • Giày bốt
  • Một số VTS
  • Một số con của CTS
  • Chưa được chứng nhận. Chỉ dành cho mục đích thử nghiệm và hiển thị
    thiết bị.
  • Không thể dùng để khởi chạy thiết bị.
Hằng tháng (được chứng nhận) Kiểm tra mực nang
  • Giày bốt
  • VTS
  • CTS (Bộ kiểm tra tính tương thích)
Kiểm thử phần cứng tham khảo
  • Giày bốt
  • VTS
  • CTS (Bộ kiểm tra tính tương thích)
Respins (được chứng nhận) Kiểm tra mực nang
  • Giày bốt
  • VTS
  • Một số con của CTS
Kiểm thử thiết bị tham chiếu
  • Giày bốt
  • VTS
  • Được xây dựng dựa trên bản dựng được GKI chứng nhận.
  • Bản dựng được chứng nhận sau khi đủ điều kiện.

Nơi lấy cấu phần phần mềm bản dựng

Bạn có thể lấy cấu phần phần mềm của tất cả các bản phát hành từ ci.android.com.

Bạn có thể tìm thêm thông tin về CI, bao gồm cả kết quả kiểm thử trên trang tổng quan Tính năng Tích hợp liên tục của Android.

Câu hỏi thường gặp

Có thể tạo tệp nhị phân GKI mới dựa trên GKI đã phát hành không?

Đúng, đây được gọi là phản hồi. Hệ thống hỗ trợ quá trình repin, miễn là bản dựng GKI được phát hành (có yêu cầu về respin) tuân thủ các yêu cầu LTS trong Bản tin về bảo mật Android (ASB).

Có thể tái tạo tệp nhị phân GKI không?

Có, hãy tham khảo ví dụ bên dưới.

GKI 2.0
5.10 kernel prebuilts from build 7364300
https://ci.android.com/builds/submitted/7364300/kernel_aarch64/latest

Để tái hiện ví dụ này, hãy tải manifest_$id.xml xuống rồi thực thi lệnh sau:

repo init -u https://android.googlesource.com/kernel/manifest
mv manifest_7364300.xml .repo/manifests
repo init -m manifest_7364300.xml --depth=1
repo sync
# build the GKI images
# You may want to use LTO=thin to build faster for development
BUILD_CONFIG=common/build.config.gki.aarch64 build/build.sh
# (optional) build virtual platform modules
BUILD_CONFIG=common-modules/virtual-device/build.config.virtual_device.aarch64 build/build.sh

Bạn có thể truy xuất bản sao cấu phần phần mềm GKI từ out/.../dist.

Tệp nhị phân GKI (bao gồm cả bản vá xoay tròn khẩn cấp) đã được xây dựng trên cơ sở mã mới nhất chưa?

Không. Respins chỉ chứa các bản vá phía trên hạt nhân được chứng nhận hằng tháng đã được chọn. Các respin này chứa tất cả các bản sửa lỗi chặn khởi chạy được báo cáo cho đến bất kỳ thời điểm nào mà OEM (Nhà sản xuất thiết bị gốc) sử dụng bản phát hành cơ sở hằng tháng tương ứng. Hãy xem ví dụ sau đây về quy trình của loại tình huống này.

  • OEM1 và OEM2 quyết định sử dụng bản phát hành nhị phân GKI từ tháng 11 năm 2021.
  • OEM1 và OEM2 tìm thấy các vấn đề cần bản vá để hỗ trợ. Các bản vá này có thể khác nhau hoặc giống nhau.
  • Các phản hồi so với tệp nhị phân tháng 11 năm 2021 có các bản sửa lỗi chặn khởi chạy do cả OEM1 và OEM2 báo cáo trong cửa sổ phản hồi, nhưng không có gì khác nữa.
  • Các vấn đề được đề cập trong dấu đầu dòng thứ hai cũng được đưa vào các bản phát hành hằng tháng của GKI tiếp theo.

Phản hồi tháng 10 có tất cả bản vá mà OEM đã gửi, nhưng các bản vá khác của OEM ảnh hưởng đến chúng tôi vì chúng chưa được thử nghiệm cụ thể với sản phẩm của chúng tôi. Có thể chỉ đưa vào bản vá của chúng tôi không?

Điều này là không thể. Hiện không thể mở rộng đường dẫn trả lại "mỗi OEM". Thay vào đó, nhóm GKI xem xét kỹ lưỡng mọi thay đổi liên quan đến bản dựng trả lại, đồng thời kiểm thử các thay đổi với tất cả phần cứng có sẵn trước khi tạo bản dựng mới. Nếu nhóm GKI nhận thấy vấn đề này chỉ xảy ra với một OEM/thiết bị/mô hình, thì nhóm GKI có thể đảm bảo rằng mã được thêm bởi sự thay đổi chỉ thực thi trên thiết bị/kiểu máy/SKU bị ảnh hưởng.

Lợi ích chính của phản hồi hợp nhất là mọi thiết bị sử dụng cùng một cơ sở phát hành sẽ hưởng lợi lẫn nhau, đặc biệt là khi các lỗi mà chúng phát hiện được là chung và có thể áp dụng cho tất cả người dùng. Các lỗi nhân hệ điều hành cốt lõi phát hiện được trong quá trình kiểm thử nhà mạng là một ví dụ cụ thể về khái niệm này.

Có trường hợp nào mà Google cung cấp thông tin cụ thể về bản vá của OEM và tình huống sự cố để OEM có thể đánh giá tác động và rủi ro khi triển khai bản vá với sản phẩm của họ không?

Google sẽ không thêm thay đổi nào vào bản dựng trả về cho đến khi hiểu được vấn đề và thu thập tất cả thông tin chi tiết. Bạn có thể xem thông tin này trong nhật ký thay đổi (thông báo cam kết). Google không tiết lộ tình trạng ảnh hưởng đến thiết bị cụ thể nào, nhưng nhà sản xuất thiết bị gốc luôn có thể tìm thấy nội dung mô tả và giải pháp về vấn đề trong nhật ký thay đổi.