Bu kılavuz, geliştirme için özel bir Pixel çekirdeğinin nasıl indirileceği, derleneceği ve flaşlanacağı konusunda adım adım talimatlar sağlar. GKI sayesinde artık çekirdeği Android platformu yapısından bağımsız olarak güncellemek mümkün. Bu adımlar yalnızca Pixel 6 ve sonraki cihazlar için geçerlidir. Bunun nedeni, Pixel 5 ve önceki cihazların, vendor
bölümündeki çekirdek modüllerinin güncellenmesini gerektirmesidir; bu, söz konusu cihazların Android platformu yapısına bağlıdır. GKI Destekli Piksel Çekirdek dalları tablosu, GKI destekli her Pixel cihazı için çekirdek veri havuzu bildirim dalını içerir. Pixel 5 ve önceki çekirdek bildirim dalları için Eski Piksel Çekirdekleri bölümüne bakın.
GKI destekli Pixel çekirdek dalları
Cihaz | AOSP ağacındaki ikili yol | Depo şubeleri | GKI Çekirdeği |
---|---|---|---|
Piksel 8 (shiba) Pixel 8 Pro (boğuk) | cihaz/google/shusky-çekirdeği | android-gs-shusky-5.15-android14-d1 | android14-5.15 |
Piksel Katlama (felix) | cihaz/google/felix-çekirdeği | android-gs-felix-5.10-android14 | android13-5.10 |
Piksel Tablet (tangorpro) | cihaz/google/tangorpro-çekirdek | android-gs-tangorpro-5.10-android14 | android13-5.10 |
Piksel 7a (vaşak) | cihaz/google/lynx-çekirdeği | android-gs-lynx-5.10-android14 | android13-5.10 |
Piksel 7 (panter) Pixel 7 Pro (çita) | cihaz/google/pantah-çekirdeği | android-gs-pantah-5.10-android14 | android13-5.10 |
Piksel 6a (mavi alakarga) | cihaz/google/bluejay-çekirdeği | android-gs-bluejay-5.10-android14 | android13-5.10 |
Piksel 6 (sarıya) Pixel 6 Pro (kuzgun) | cihaz/google/raviole-çekirdeği | android-gs-raviole-5.10-android14 | android13-5.10 |
Fabrikada desteklenen çekirdeklere ek olarak Pixel 6 ve 6 Pro cihazları, yalnızca Desteklenen Pixel 6/6 Pro Android Platformu ve Çekirdek Kombinasyonları tablosunda yer alan Android Common çekirdek dallarında GKI geliştirme amacıyla desteklenir. Android platformu HAL'leri ile Pixel çekirdek sürücüleri arasındaki satıcı UAPI farklılıkları nedeniyle, tabloda desteklenen yapı kombinasyonları sunulmaktadır.
Desteklenen Pixel 6/6 Pro Android platformu ve çekirdek kombinasyonları
Piksel Çekirdek Bildirim Şubesi | GKI Şubesi | Android Platformu Oluşturma | aosp-main desteği? |
---|---|---|---|
gs-android-gs-raviole-ana hat | android-ana hat ( v6.7 etiketi ) | UP1A.231005.007.A1 (10762838) | Evet |
android14-gs-piksel-6.1 | android14-6.1 | UP1A.231005.007.A1 (10762838) | Evet |
gs-android13-gs-raviole-5.15 | android13-5.15 | TQ1A.230205.002 (9471150) | HAYIR |
Pixel cihazınızı hazırlayın
Aşağıdaki akış şeması, Pixel 6 ve sonraki sürümlere sahip cihazlarda çekirdeğin güncellenmesi sürecini açıklamaktadır:
Flash.android.com'u kullanarak cihazı flaşlayın
- flash.android.com'a gidin
- Desteklenen Android Platformu ve Çekirdek kombinasyonlarına göre Android yapısını seçin.
- Aşağıdaki seçenekleri seçin:
- Cihazı Sil
- Tüm Bölümleri Flash'a Zorla
- Doğrulamayı Devre Dışı Bırak
- Cihazı flaşlamak için Kurulumu yükle düğmesine basın.
Çekirdeği indirin ve derleyin
Çekirdek deposunu senkronize edin
Çekirdek kaynak kodunu indirmek için aşağıdaki komutları çalıştırın. Pixel KERNEL_MANIFEST_BRANCH için Desteklenen Pixel 6/6 Pro Android Platformu ve Çekirdek Kombinasyonları tablosuna bakın.
repo init -u https://android.googlesource.com/kernel/manifest -b KERNEL_MANIFEST_BRANCH
repo sync -c --no-tags
Satıcının ramdiskini güncelleyin
Çekirdek deposundaki vendor_ramdisk- DEVICE .img
dosyasını, cihazda yüklü olan Android platformu yapısıyla eşleşecek şekilde güncelleyin. Takip edebileceğiniz birkaç seçenek var.
Seçenek 1) Satıcının ramdisk görüntüsünü Pixel fabrika görüntüsünden çıkarın.
Cihazınız için desteklenen fabrika görüntüsünü https://developers.google.com/android/images adresinden indirin.
vendor_boot.img
dosyasını çıkartın:- Aşağıdaki komutlarda örnek olarak Pixel 6 Pro UP1A.231005.007.a1 kullanılmıştır. Zip dosyası adını, indirdiğiniz fabrika görüntüsünün dosya adıyla değiştirin.
unzip raven-up1a.231005.007.a1-factory-5d927f3e.zip
cd raven-up1a.231005.007.a1
unzip image-raven-up1a.231005.007.a1.zip vendor_boot.img
Satıcının ramdisk'ini edinmek için
vendor_boot.img
açın.KERNEL_REPO_ROOT/tools/mkbootimg/unpack_bootimg.py --boot_img vendor_boot.img \ --out vendor_boot_out
Çıkarılan
ramdisk_
dosyasını Pixel çekirdek deposuna kopyalayın.Cihaz DEVICE_RAMDISK_PATH Piksel 6 (sarıya)
Pixel 6 Pro (kuzgun)önceden oluşturulmuş yapılar/önyükleme-artifacts/ramdisks/vendor_ramdisk- oriole.img Piksel 6a (mavi alakarga) özel/devices/google/bluejay/vendor_ramdisk- bluejay.img cp vendor_boot_out/vendor-ramdisk-by-name/ramdisk_ \ KERNEL_REPO_ROOT/DEVICE_RAMDISK_PATH
Seçenek 2) vendor_ramdisk
yerel olarak oluşturulmuş bir Android platformu deposundan kopyalayın.
Cihaz | DEVICE_RAMDISK_PATH |
---|---|
Piksel 6 (sarıya) Pixel 6 Pro (kuzgun) | önceden oluşturulmuş yapılar/önyükleme-artifacts/ramdisks/vendor_ramdisk- oriole.img |
Piksel 6a (mavi alakarga) | özel/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
Çekirdeği derleyin (Kleaf)
Android 13'te build.sh
betiğinin yerini Kleaf adlı yeni bir çekirdek derleme sistemi aldı. android13-5.15
ve üzerini kullanan cihazlar için çekirdek, Kleaf kullanılarak oluşturulmalıdır.
android14
ve üzeri çekirdeklere sahip Pixel 6 ve 6 Pro için Kleaf build komutunu çalıştırın:
tools/bazel run --config=fast --config=stamp //private/google-modules/soc/gs:slider_dist
android13-5.15
çekirdekli Pixel 6 ve 6 Pro için Kleaf build komutunu çalıştırın:
tools/bazel run --lto=thin //gs/google-modules/soc-modules:slider_dist
Diğer tüm Pixel çekirdekleri için KERNEL_REPO_ROOT konumunda bulunan build_ DEVICE.sh
betiğini çalıştırın. Örneğin, android-gs-raviole-5.10-android14
dalında Pixel 6 çekirdeği oluşturmak için şu komutu çalıştırırsınız:
build_slider.sh
build_ DEVICE .sh
komut dosyaları, derleme sürecini hızlandırmak için varsayılan olarak önceden oluşturulmuş GKI çekirdeğini kullanır. Çekirdek çekirdeği değiştirmek istiyorsanız, çekirdeği yerel kaynaklardan oluşturmak için BUILD_AOSP_KERNEL=1
ortam değişkenini ayarlayın.
Çekirdek yapı sistemi ve yapının nasıl özelleştirileceği hakkında daha fazla ayrıntı için Kleaf Dokümantasyonuna bakın.
Çekirdek resimlerini flaşla
Not: Doğrulamayı devre dışı bırakmadıysanız, özel çekirdeği flashlamadan önce bunu yapmanız gerekir. İşte bunu yapacak komut:fastboot oem disable-verification
UYARI: Bir platform yapısının üzerinde özel bir çekirdeğin flaşını yapıyorsanız, yeni çekirdekle ilişkili bir güvenlik yaması düzeyi (SPL) sürüm düşürmesi varsa cihazınızı silmeniz gerekebilir. Bu işlem tüm kişisel verilerinizi siler. Silmeden önce verilerinizi yedeklemeyi unutmayın.fastboot -w
Çekirdek görüntülerini flaşlamak için, cihazınız için listelenen her çekirdek bölümü için fastboot flash
komutunu çalıştırın. Dinamik bölümler için, yanıp sönmeden önce fastbootd
moduna yeniden başlatmanız gerekir.
Cihaz | Çekirdek Bölümleri |
---|---|
Piksel 6 (sarıya) Pixel 6 Pro (kuzgun) Piksel 6a (mavi alakarga) | bot dtbo satıcı_önyükleme satıcı_dlkm (dinamik bölüm) |
Piksel 8 (shiba) Pixel 8 Pro (boğuk) Piksel Katlama (felix) Piksel Tablet (tangorpro) Piksel 7a (vaşak) Piksel 7 (panter) Pixel 7 Pro (çita) | bot dtbo satıcı_kernel_boot satıcı_dlkm (dinamik bölüm) system_dlkm (dinamik bölüm) |
android-mainline
Pixel 6 için yanıp sönen komutlar şunlardır:
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
Çekirdek görüntüleri DIST_DIR dizininde bulunabilir.
Çekirdek dalı | DIST_DIR |
---|---|
v5.10 | out/mixed/dist |
v5.15 ve üzeri | out/ DEVICE /dist |
Not: Seri bir donanım kilidiniz varsa ve seri günlükleri etkinleştirmek istiyorsanız komut şu şekildedir:Ana bilgisayardan bağlanmak için örnek komut:fastboot oem uart enable
fastboot oem uart config 3000000
screen -fn /dev/ttyUSB* 3000000
Fabrika görüntülerini geri yükleyin
Cihazınızı fabrika görüntülerine geri döndürmek için flash.android.com adresini kullanabilirsiniz.
Eski Pixel çekirdekleri
Referans olarak eski Pixel çekirdek dalları tablosu, Pixel 5 ve önceki cihazlar için çekirdek deposu dallarını sağlar. Bunlar GKI destekli olmayan cihazlardır.
Eski Pixel çekirdek dalları
Cihaz | AOSP ağacındaki ikili yol | Depo şubeleri |
---|---|---|
Piksel 5a (barbet) Pixel 4a (5G) (böğürtlen) Piksel 5 (kırmızı yüzgeçli) | cihaz/google/redbull-çekirdeği | android-msm-redbull-4.19-android14 |
Piksel 4a (güneş balığı) | cihaz/google/sunfish-çekirdeği | android-msm-sunfish-4.14-android13-qpr3 |
Piksel 4 (alev) Pixel 4 XL (mercan) | cihaz/google/mercan çekirdeği | android-msm-mercan-4.14-android13 |
Piksel 3a (sargo) Pixel 3a XL (palamut) | cihaz/google/bonito-çekirdek | android-msm-bonito-4.9-android12L |
Piksel 3 (mavi çizgi) Pixel 3 XL (çapraz tarama) | cihaz/google/çapraz tarama çekirdeği | android-msm-crosshatch-4.9-android12 |
Piksel 2 (duvar gözü) Pixel 2 XL (tamamen) | cihaz/google/wahoo-çekirdek | android-msm-wahoo-4.4-android10-qpr3 |
Piksel (yelken balığı) Piksel XL (marlin) | cihaz/google/marlin-çekirdeği | android-msm-marlin-3.18-pie-qpr2 |