Hướng dẫn này cung cấp chỉ dẫn từng bước về cách tải xuống, biên dịch và
cài đặt ROM một nhân hệ điều hành Pixel tuỳ chỉnh để phát triển. Nhờ có GKI, giờ đây, bạn có thể
cập nhật nhân hệ điều hành một cách độc lập với bản dựng nền tảng Android. Các bước này
chỉ áp dụng cho các thiết bị Pixel 6 trở lên. Điều này là do Pixel 5 và
các thiết bị cũ hơn yêu cầu cập nhật các mô-đun nhân trên phân vùng vendor
,
phụ thuộc vào bản dựng nền tảng Android cho các thiết bị đó. GKI
Bảng nhánh hạt nhân Pixel được hỗ trợ bao gồm
nhánh tệp kê khai kho lưu trữ nhân kernel cho từng thiết bị Pixel được GKI hỗ trợ. Tham khảo
phần Hạt nhân Pixel cũ dành cho Pixel 5 và
các nhánh của tệp kê khai nhân trước đó.
Các nhánh nhân hệ điều hành Pixel được GKI hỗ trợ
Thiết bị | Đường dẫn nhị phân trong cây AOSP (Dự án nguồn mở Android) | Nhánh của kho lưu trữ | Hạt nhân GKI |
---|---|---|---|
Pixel 9 Pro Fold (sao chổi) | thiết bị/google/comet-kernel | Android-gs-comet-6.1-android14-qpr3-d1 | android14-6.1 |
Pixel 9 (tokay)
Pixel 9 Pro (caiman)
Pixel 9 Pro XL (komodo) | device/google/caimito-kernel | android-gs-caimito-6.1-android14-qpr3-d1 | android14-6.1
Pixel 8a (akita) | thiết bị/google/akita-kernel | android-gs-akita-5.15-android14-qpr3 | android14 – 5.15
Pixel 8 (shiba)
Pixel 8 Pro (chó husky) | device/google/shusky-kernel | android-gs-shusky-5.15-android14-qpr3 | android14 – 5.15
Pixel Fold (đối tượng) | thiết bị/google/legal-kernel | android-gs-legal-5.10-android14-qpr3 | android13 – 5.10
Máy tính bảng Pixel (tangorpro) | device/google/tangorpro-kernel | android-gs-tangorpro-5.10-android14-qpr3 | android13 – 5.10
Pixel 7a (Linh miêu) | thiết bị/google/lynx-kernel | android-gs-lynx-5.10-android14-qpr3 | android13 – 5.10
Pixel 7 (báo đốm)
Pixel 7 Pro (cheetah) | thiết bị/google/pantah-kernel | android-gs-pantah-5.10-android14-qpr3 | android13 – 5.10
Pixel 6a (màu xanh lam) | device/google/bluejay-kernel | android-gs-bluejay-5.10-android14-qpr3 | android13 – 5.10
Pixel 6 (oriole)
Pixel 6 Pro (raven) | thiết bị/google/raviole-kernel | android-gs-raviole-5.10-android14-qpr3 | android13 – 5.10
Ngoài những nhân hệ điều hành được nhà máy hỗ trợ, thiết bị Pixel 6 và 6 Pro cũng có chỉ được hỗ trợ cho mục đích phát triển GKI trên nhân Android chung Các nhánh có trong Hạt nhân và Nền tảng Android Pixel 6/6 Pro được hỗ trợ Bảng kết hợp. Do sự khác biệt về UAPI của nhà cung cấp giữa HAL và trình điều khiển hạt nhân Pixel của nền tảng Android, bảng cung cấp các tổ hợp bản dựng được hỗ trợ.
Tổ hợp nền tảng Android và nhân hệ điều hành Pixel 6/6 Pro được hỗ trợ
Nhánh tệp kê khai hạt nhân Pixel | Chi nhánh GKI | Xây dựng nền tảng Android | Bạn có muốn hỗ trợ aosp-main không? |
---|---|---|---|
gs-android-gs-raviole-mainline | android-mainline (phiên bản 6.8) | AP1A.240505.004 (11583682) | Có |
android14-gs-pixel-6.1 | android14-6.1 | AP1A.240505.004 (11583682) | Có |
gs-android13-gs-raviole-5.15 | android13-5.15 | TQ1A.230205.002 (9471150) | Không |
Chuẩn bị thiết bị Pixel
Biểu đồ sau đây mô tả quy trình cập nhật nhân hệ điều hành trên Pixel 6 thiết bị trở lên:
Cài đặt ROM thiết bị bằng flash.android.com
- Chuyển đến flash.android.com
- Chọn bản dựng Android dựa trên Nền tảng và hạt nhân Android được hỗ trợ kết hợp.
- Chọn các lựa chọn sau:
- Xóa dữ liệu thiết bị
- Buộc Flash tất cả phân vùng
- Tắt tính năng Xác minh
- Nhấn nút Install build (Cài đặt bản dựng) để cài đặt ROM thiết bị.
Tải xuống và biên dịch nhân
Đồng bộ hoá kho lưu trữ nhân hệ điều hành
Chạy các lệnh sau để tải mã nguồn kernel xuống. Tham khảo Nền tảng và hạt nhân Android Pixel 6/6 Pro được hỗ trợ Bảng kết hợp cho Pixel KERNEL_MANIFEST_BRANCH.
repo init -u https://android.googlesource.com/kernel/manifest -b KERNEL_MANIFEST_BRANCH
repo sync -c --no-tags
Cập nhật ổ đĩa cứng của nhà cung cấp
Cập nhật tệp vendor_ramdisk-DEVICE.img
trong
kho lưu trữ kernel phù hợp với bản dựng nền tảng Android được cài đặt ROM trên trang
thiết bị. Dưới đây là một số cách mà bạn có thể làm theo.
Lựa chọn 1) Trích xuất hình ảnh ổ đĩa RAM của nhà cung cấp từ Hình ảnh gốc của Pixel.
Tải xuống hình ảnh gốc được hỗ trợ cho thiết bị của bạn từ https://developers.google.com/android/images
Trích xuất
vendor_boot.img
:- Các lệnh sau đây dùng điện thoại Pixel 6 Pro AP1A.240505.004 làm ví dụ. Thay thế zipfile với tên tệp của hình ảnh gốc mà bạn đã tải xuống.
unzip raven-ap1a.240505.004-factory-9d783215.zip
cd raven-ap1a.240505.004
unzip image-raven-ap1a.240505.004.zip vendor_boot.img
Giải nén
vendor_boot.img
để lấy ổ đĩa ram của nhà cung cấp.KERNEL_REPO_ROOT/tools/mkbootimg/unpack_bootimg.py --boot_img vendor_boot.img \ --out vendor_boot_out
Sao chép tệp
vendor-ramdisk-by-name/ramdisk_
đã giải nén vào kho lưu trữ nhân hệ điều hành Pixel.Thiết bị DEVICE_RAMDISK_PATH Pixel 6 (oriole)
Pixel 6 Pro (raven)tạo sẵn/boot-artifacts/ramdisks/vendor_ramdisk-oriole.img Pixel 6a (màu xanh dương) private/devices/google/bluejay/vendor_ramdisk-bluejay.img cp vendor_boot_out/vendor-ramdisk-by-name/ramdisk_ \ KERNEL_REPO_ROOT/DEVICE_RAMDISK_PATH
Lựa chọn 2) Sao chép vendor_ramdisk
từ một kho lưu trữ nền tảng Android được tạo cục bộ.
Thiết bị | DEVICE_RAMDISK_PATH |
---|---|
Pixel 6 (oriole) Pixel 6 Pro (raven) |
tạo sẵn/boot-artifacts/ramdisks/vendor_ramdisk-oriole.img |
Pixel 6a (màu xanh dương) | private/devices/google/bluejay/vendor_ramdisk-bluejay.img |
cp ANDROID_ROOT/out/target/product/DEVICE/vendor_ramdisk-debug.img \
KERNEL_REPO_ROOT/DEVICE_RAMDISK_PATH/vendor_ramdisk-DEVICE.img
Biên dịch hạt nhân (Kleaf)
Trong Android 13, tập lệnh build.sh
đã được thay thế bằng một hệ thống xây dựng nhân hệ điều hành mới
có tên là Kleaf. Đối với các thiết bị sử dụng android13-5.15
trở lên,
nhân hệ điều hành nên được xây dựng bằng Kleaf.
Đối với điện thoại Pixel 6 và 6 Pro có nhân android14
trở lên, hãy chạy bản dựng Kleaf
:
tools/bazel run --config=fast --config=stamp //private/google-modules/soc/gs:slider_dist
Đối với Pixel 6 và 6 Pro có nhân android13-5.15
, hãy chạy bản dựng Kleaf
:
tools/bazel run --lto=thin //gs/google-modules/soc-modules:slider_dist
Đối với tất cả các nhân Pixel khác, hãy chạy tập lệnh build_DEVICE.sh
có tại KERNEL_REPO_ROOT. Cho
ví dụ: để tạo nhân cho Pixel 6 trên nhánh
android-gs-raviole-5.10-android14
, bạn sẽ chạy lệnh:
build_slider.sh
Theo mặc định, tập lệnh build_DEVICE.sh
sử dụng
nhân GKI dựng sẵn để tăng tốc quá trình xây dựng. Nếu bạn muốn sửa đổi
nhân hệ điều hành lõi, sau đó đặt biến môi trường BUILD_AOSP_KERNEL=1
để tạo bản dựng
nhân hệ điều hành từ các nguồn cục bộ.
Để biết thêm thông tin chi tiết về hệ thống xây dựng nhân và cách tuỳ chỉnh bản dựng, tham khảo bài viết Kleaf – Xây dựng hạt nhân Android bằng Bazel.
Lưu hình ảnh nhân hệ điều hành
Lưu ý: Nếu chưa tắt tính năng xác minh, bạn cần phải bật lại trước khi cài đặt ROM nhân tuỳ chỉnh. Sau đây là lệnh để thực hiện việc này:fastboot oem disable-verification
CẢNH BÁO: Nếu bạn đang cài đặt một nhân tuỳ chỉnh trên bản dựng nền tảng, thì bạn có thể cần phải xoá sạch thiết bị của mình nếu có hạ cấp ở cấp bản vá (SPL) được liên kết với nhân mới. Quá trình này sẽ xoá tất cả dữ liệu cá nhân của bạn. Hãy nhớ sao lưu dữ liệu của bạn trước khi xoá.fastboot -w
Để cài đặt ROM hình ảnh nhân, hãy chạy lệnh fastboot flash
cho mỗi nhân
phân vùng được liệt kê cho thiết bị của bạn. Đối với phân vùng động, bạn cần khởi động lại
sang chế độ fastbootd
trước khi cài đặt ROM.
Thiết bị | Vách ngăn hạt nhân |
---|---|
Pixel 6
(oriole) Pixel 6 Pro (quạ) Pixel 6a (giẻ cùi lam) |
khởi động dtbo vendor_boot vendor_dlkm (phân vùng động) |
Pixel 8 (shiba) Pixel 8 Pro (chó husky) Pixel Gập (kết hợp) Pixel Máy tính bảng (tangorpro) Pixel 7a (Linh miêu) Pixel 7 (báo động) Pixel 7 Pro (báo đốm) |
khởi động dtbo vendor_kernel_boot vendor_dlkm (phân vùng động) system_dlkm (phân vùng động) |
Sau đây là các lệnh cài đặt ROM cho điện thoại Pixel 6 trên android-mainline
:
fastboot flash boot out/slider/dist/boot.img
fastboot flash dtbo out/slider/dist/dtbo.img
fastboot flash vendor_boot out/slider/dist/vendor_boot.img
fastboot reboot fastboot
fastboot flash vendor_dlkm out/slider/dist/vendor_dlkm.img
Bạn có thể tìm thấy hình ảnh hạt nhân trong DIST_DIR.
Nhánh kernel | DIST_DIR |
---|---|
phiên bản 5.10 | out/mixed/dist |
phiên bản 5.15 trở lên | out/DEVICE/dist |
Lưu ý: Nếu bạn có thiết bị phần cứng nối tiếp và muốn bật tính năng nối tiếp nhật ký thì lệnh sẽ là:Lệnh mẫu để kết nối từ máy chủ:fastboot oem uart enable
fastboot oem uart config 3000000
screen -fn /dev/ttyUSB* 3000000
Khôi phục hình ảnh gốc
Để khôi phục thiết bị về hình ảnh gốc, bạn có thể sử dụng flash.android.com.
Hạt nhân Pixel cũ
Để tham khảo, các nhánh nhân hệ điều hành của Pixel cũ bảng cung cấp các nhánh kho lưu trữ nhân hệ điều hành cho các thiết bị Pixel 5 trở xuống. Đây là các thiết bị không hỗ trợ GKI.
Nhánh nhân hệ điều hành Pixel cũ
Thiết bị | Đường dẫn nhị phân trong cây AOSP (Dự án nguồn mở Android) | Nhánh của kho lưu trữ |
---|---|---|
Pixel 5a (barbet) Pixel 4a (5G) (vàng) Pixel 5 (vây đỏ) |
thiết bị/google/redbull-kernel | Android-msm-redbull-4.19-android14-qpr3 |
Pixel 4a (cá mặt trời) | thiết bị/google/sunfish-kernel | Android-msm-sunfish-4.14-android13-qpr3 |
Pixel 4 (ngọn lửa) Pixel 4 XL (màu san hô) |
thiết bị/google/coral-kernel | Android-msm-coral-4.14-android13 |
Pixel 3a (sargo) Pixel 3a XL (bonito) |
thiết bị/google/bonito-kernel | Android-msm-bonito-4.9-android12L |
Pixel 3 (màu xanh dương) Pixel 3 XL (kiểu dáng chéo) |
thiết bị/google/crosshatch-kernel | Android-msm-crosshatch-4.9-android12 |
Pixel 2 (mắt tường) Pixel 2 XL (taimen) |
thiết bị/google/wahoo-kernel | Android-msm-wahoo-4.4-android10-qpr3 |
Pixel (cá kỳ biển) Pixel XL (marlin) |
thiết bị/google/marlin-kernel | android-msm-marlin-3.18-pie-qpr2 |