این راهنما دستورالعملهای گام به گام در مورد نحوه دانلود، کامپایل و فلش کردن یک هسته پیکسل سفارشی برای توسعه ارائه میدهد. به لطف GKI، اکنون میتوان هسته را مستقل از ساخت پلتفرم اندروید بهروزرسانی کرد. این مراحل فقط برای دستگاههای پیکسل ۶ و بالاتر قابل اجرا هستند. دلیل این امر آن است که دستگاههای پیکسل ۵ و قبل از آن نیاز به بهروزرسانی ماژولهای هسته در پارتیشن vendor دارند که به ساخت پلتفرم اندروید برای آن دستگاهها بستگی دارد. جدول شاخههای هسته پیکسل پشتیبانیشده توسط GKI شامل شاخه مانیفست مخزن هسته برای هر دستگاه پیکسل پشتیبانیشده توسط GKI است. برای شاخههای مانیفست هسته پیکسل ۵ و قبل از آن به بخش هستههای قدیمی پیکسل مراجعه کنید.
شاخههای هسته پیکسل پشتیبانیشده توسط GKI
| دستگاه | شاخههای مخزن | هسته GKI |
|---|---|---|
| پیکسل ۹a (تگو) | اندروید-جیاس-تگو-۶.۱-اندروید۱۶ | اندروید ۱۴-۶.۱ |
| پیکسل ۹ پرو فولد (ستاره دنبالهدار) | اندروید-جیاس-کامت-۶.۱-اندروید۱۶ | اندروید ۱۴-۶.۱ |
| پیکسل ۹ (خب) پیکسل ۹ پرو (کایمن) پیکسل ۹ پرو ایکس ال (کومودو) | android-gs-caimito-6.1-android16 | اندروید ۱۴-۶.۱ |
| پیکسل ۸a (آکیتا) | اندروید-جیاس-آکیتا-۶.۱-اندروید۱۶ | اندروید ۱۴-۶.۱ |
| پیکسل ۸ (شیبا) پیکسل ۸ پرو (هاسکی) | اندروید-جیاس-شوسکی-۶.۱-اندروید۱۶ | اندروید ۱۴-۶.۱ |
| پیکسل فولد (فلیکس) | اندروید-جیاس-فلیکس-۶.۱-اندروید۱۶ | اندروید ۱۴-۶.۱ |
| تبلت پیکسل (تانگورپرو) | اندروید-جی-اس-تانگورپرو-۶.۱-اندروید۱۶ | اندروید ۱۴-۶.۱ |
| پیکسل ۷a (لینکس) | اندروید-جیاس-لینکس-۶.۱-اندروید۱۶ | اندروید ۱۴-۶.۱ |
| پیکسل ۷ (پلنگ) پیکسل ۷ پرو (یوزپلنگ) | android-gs-pantah-6.1-android16 | اندروید ۱۴-۶.۱ |
| پیکسل ۶a (بلوجی) | اندروید-جی-اس-بلوجی-۶.۱-اندروید۱۶ | اندروید ۱۴-۶.۱ |
| پیکسل ۶ (مرغابی) پیکسل ۶ پرو (کلاغ) | android-gs-raviole-6.1-android16 | اندروید ۱۴-۶.۱ |
علاوه بر کرنلهای پشتیبانیشده توسط کارخانه، دستگاههای Pixel 6 و 6 Pro فقط برای اهداف توسعه GKI در شاخههای کرنل رایج اندروید که در جدول ترکیبات پلتفرم اندروید و کرنل پشتیبانیشده Pixel 6/6 Pro وجود دارد، پشتیبانی میشوند. با توجه به تفاوتهای UAPI فروشندگان بین HALهای پلتفرم اندروید و درایورهای کرنل Pixel، جدول ترکیبات ساخت پشتیبانیشده را ارائه میدهد.
پلتفرم اندروید و ترکیبهای کرنل پشتیبانیشده برای پیکسل ۶/۶ پرو
| شاخه مانیفست هسته پیکسل | شعبه GKI | ساخت پلتفرم اندروید |
|---|---|---|
| gs-android-gs-raviole-mainline | اندروید-مینلاین | آخرین نسخه اندروید |
| gs-android16-6.12-gs101 | اندروید ۱۶-۶.۱۲ | آخرین نسخه اندروید |
| gs-android13-gs-raviole-5.15 | اندروید ۱۳-۵.۱۵ | TQ1A.230205.002 (9471150) |
دستگاه پیکسل خود را آماده کنید
نمودار جریان زیر فرآیند بهروزرسانی هسته در پیکسل ۶ و دستگاههای بعدی را شرح میدهد:

دستگاه را با استفاده از flash.android.com فلش کنید
- به flash.android.com بروید
- بر اساس ترکیبهای پشتیبانیشدهی پلتفرم و هستهی اندروید، نسخهی اندروید مورد نظر خود را انتخاب کنید.
- برای
android-latest-release، یکی از گزینههای «بازگشت به عمومی»، «Canary» یا «بتا» را انتخاب کنید.
- برای
- گزینههای زیر را انتخاب کنید:
- دستگاه را پاک کنید
- فلش اجباری تمام پارتیشنها
- غیرفعال کردن تأیید
- برای فلش کردن دستگاه، دکمهی Install build را فشار دهید.

دانلود و کامپایل کرنل
همگامسازی مخزن هسته
برای دانلود کد منبع کرنل، دستورات زیر را اجرا کنید. برای مشاهدهی Pixel KERNEL_MANIFEST_BRANCH به جدول ترکیبات کرنل و پلتفرم اندروید پشتیبانیشدهی Pixel 6/6 Pro مراجعه کنید.
repo init -u https://android.googlesource.com/kernel/manifest -b KERNEL_MANIFEST_BRANCH
repo sync -c --no-tags
بهروزرسانی ramdisk فروشنده
فایل vendor_ramdisk- DEVICE .img را در مخزن هسته بهروزرسانی کنید تا با نسخه پلتفرم اندروید فلش شده روی دستگاه مطابقت داشته باشد. چندین گزینه برای بهروزرسانی فایل vendor_ramdisk- DEVICE .img وجود دارد. اگر از اندروید 15 QPR2 (BP11.241025.006) یا بالاتر استفاده میکنید، از گزینه (1) استفاده کنید. در غیر این صورت، از گزینه (2) استفاده کنید.
گزینه ۱) فقط بیتهای ramdisk مربوط به DTB و DLKM از پارتیشن vendor_boot را بهروزرسانی کنید
با شروع از نسخه fastboot 35.0.2-12583183 ، میتوانید مستقیماً DTB و DLKM ramdisk را روی پارتیشن
vendor_bootفلش کنید.sdk-repo- HOST_OS -platform-tools-12583183.zipرا از مصنوعات v35.0.2-12583183 دانلود و در محیط دستگاه میزبان خود برای استفاده استخراج کنید.دستورالعملها را برای فلش کردن DTB و
vendor_boot:dlkmدر فلش کردن ایمیجهای کرنل دنبال کنید.گزینه ۲) ایمیج ramdisk فروشنده را از ایمیج کارخانه Pixel استخراج کنید.
فایل ایمیج کارخانهای پشتیبانیشده برای دستگاه خود را از https://developers.google.com/android/images دانلود کنید.
فایل
vendor_boot.imgرا از حالت فشرده خارج کنید:دستورات زیر به عنوان نمونه از Pixel 6 Pro AP1A.240505.004 استفاده میکنند. نام فایل فشرده را با نام فایل ایمیج کارخانهای که دانلود کردهاید جایگزین کنید.
unzip raven-ap1a.240505.004-factory-9d783215.zipcd raven-ap1a.240505.004unzip image-raven-ap1a.240505.004.zip vendor_boot.imgبرای دریافت فایل ramdisk مربوط به فروشنده، فایل
vendor_boot.imgرا از حالت فشرده خارج کنید.KERNEL_REPO_ROOT/tools/mkbootimg/unpack_bootimg.py --boot_img vendor_boot.img \ --out vendor_boot_outفایل استخراجشدهی
vendor-ramdisk-by-name/ramdisk_را در مخزن هستهی Pixel کپی کنید.دستگاه DEVICE_RAMDISK_PATH پیکسل ۶ (مرغابی)
پیکسل ۶ پرو (کلاغ)پیشساختهها/مصنوعات بوت/رمدیسکها/vendor_ramdisk- oriole.img پیکسل ۶a (بلوجی) خصوصی/دستگاهها/گوگل/بلوجی/فروشنده_رمدیسک- bluejay.img cp vendor_boot_out/vendor-ramdisk-by-name/ramdisk_ \ KERNEL_REPO_ROOT/DEVICE_RAMDISK_PATH
کامپایل هسته (Kleaf)
در اندروید ۱۳، اسکریپت build.sh با یک سیستم ساخت هسته جدید به نام Kleaf جایگزین شد. برای دستگاههایی که android13-5.15 و بالاتر استفاده میکنند، هسته باید با استفاده از Kleaf ساخته شود.
برای راحتی، میتوانید اسکریپت build_ DEVICE .sh را که در KERNEL_REPO_ROOT یافت میشود، اجرا کنید. در بیشتر موارد، DEVICE باید نام کد باشد، که میتواند نام کد یک دستگاه باشد، مانند "akita" (Pixel 8a)، یا نام کدی که نشاندهنده گروهی از دستگاههای مرتبط است که یک هسته مشترک دارند، مانند "caimito" که به معنی Pixel 9 (tokay)، Pixel 9 Pro (caiman) و Pixel 9 Pro XL (komodo) است. برای android14 و نسخههای قبلی، build_slider.sh برای Pixel 6 و Pixel 6 Pro و build_cloudripper.sh برای Pixel 7 و Pixel 7 Pro استفاده کنید.
برای مثال، برای ساخت هسته Pixel 6 روی شاخه android-gs-raviole-5.10-android14 ، دستور زیر را اجرا میکنید:
build_slider.sh
به طور پیشفرض در شاخههای هستهی عملیاتی، اسکریپتهای build_ DEVICE .sh از هستهی از پیش ساخته شدهی GKI برای سرعت بخشیدن به فرآیند ساخت استفاده میکنند. اگر میخواهید هستهی اصلی را تغییر دهید، متغیر محیطی BUILD_AOSP_KERNEL=1 را برای ساخت هسته از منابع محلی تنظیم کنید. شاخههای هستهی توسعه به طور پیشفرض مستقیماً منبع هسته را میسازند.
برای جزئیات بیشتر در مورد سیستم ساخت هسته و نحوه سفارشیسازی ساخت، به Kleaf - Building Android Kernels with Bazel مراجعه کنید.
فلش کردن ایمیجهای کرنل
توجه: اگر تأیید را غیرفعال نکردهاید، باید قبل از فلش کردن کرنل سفارشی این کار را انجام دهید. برای انجام این کار، دستور زیر را اجرا کنید:fastboot oem disable-verification
هشدار: اگر در حال فلش کردن یک کرنل سفارشی بر روی یک پلتفرم ساخته شده هستید، در صورتی که کرنل جدید به سطح امنیتی پایینتری (SPL) ارتقا یافته باشد، ممکن است لازم باشد دستگاه خود را پاک کنید. این فرآیند تمام اطلاعات شخصی شما را پاک میکند. قبل از پاک کردن، حتماً از اطلاعات خود نسخه پشتیبان تهیه کنید.fastboot -w
برای فلش کردن ایمیجهای کرنل، دستور fastboot flash را برای هر پارتیشن کرنل لیست شده برای دستگاه خود اجرا کنید. برای پارتیشنهای پویا، قبل از فلش کردن باید دستگاه را در حالت fastbootd راهاندازی مجدد کنید.
| دستگاه | پارتیشنهای هسته |
|---|---|
| پیکسل ۶ (مرغابی) پیکسل ۶ پرو (کلاغ) پیکسل ۶a (بلوجی) | بوت دیتیبو vendor_boot یا vendor_boot:dlkm vendor_dlkm (پارتیشن پویا) |
| پیکسل ۹ (تگو) پیکسل ۹ پرو فولد (ستاره دنبالهدار) پیکسل ۹ (خب) پیکسل ۹ پرو (کایمن) پیکسل ۹ پرو ایکس ال (کومودو) پیکسل ۸ (شیبا) پیکسل ۸ پرو (هاسکی) پیکسل فولد (فلیکس) تبلت پیکسل (تانگورپرو) پیکسل ۷a (لینکس) پیکسل ۷ (پلنگ) پیکسل ۷ پرو (یوزپلنگ) | بوت دیتیبو فروشنده_هسته_بوت vendor_dlkm (پارتیشن پویا) system_dlkm (پارتیشن پویا) |
در اینجا دستورات چشمک زن برای پیکسل ۶ در android-mainline آمده است:
fastboot flash boot out/slider/dist/boot.img
fastboot flash dtbo out/slider/dist/dtbo.img
fastboot flash --dtb out/slider/dist/dtb.img vendor_boot:dlkm out/slider/dist/initramfs.img
fastboot reboot fastboot
fastboot flash vendor_dlkm out/slider/dist/vendor_dlkm.img
برای پیکسل ۶/۶ پرو/۶a، اگر vendor_ramdisk در بخش «بهروزرسانی ramdisk فروشنده» بهروزرسانی کردهاید، در عوض از دستور زیر برای بهروزرسانی پارتیشن vendor_boot استفاده کنید:
fastboot flash vendor_boot out/slider/dist/vendor_boot.img
تصاویر هسته را میتوان در DIST_DIR یافت.
| شاخه هسته | DIST_DIR |
|---|---|
| نسخه ۵.۱۰ | out/mixed/dist |
| نسخه ۵.۱۵ و بالاتر | out/ DEVICE /dist |
توجه: اگر دانگل سریال دارید و میخواهید گزارشهای سریال را فعال کنید، دستور زیر را وارد کنید:دستور مثال برای اتصال از میزبان: fastboot oem uart enablefastboot oem uart config 3000000screen -fn /dev/ttyUSB* 3000000
بازیابی تصاویر کارخانه
برای بازگرداندن دستگاه خود به حالت کارخانه، میتوانید از flash.android.com استفاده کنید.
هستههای پیکسل قدیمی
به عنوان مرجع، جدول شاخههای هسته قدیمی Pixel، شاخههای مخزن هسته را برای دستگاههای Pixel 5 و قبل از آن ارائه میدهد. این دستگاهها از GKI پشتیبانی نمیکنند.
شاخههای هسته پیکسل قدیمی
| دستگاه | مسیر دودویی در درخت AOSP | شاخههای مخزن |
|---|---|---|
| پیکسل ۵a (باربت) پیکسل ۴a (5G) (رنگ زرشکی) پیکسل ۵ (ردفین) | دستگاه/گوگل/ردبول-هسته | اندروید-msm-redbull-4.19-android14-qpr3 |
| پیکسل ۴a (خورشیدی) | دستگاه/گوگل/هسته-خورشیدی | اندروید-MSM-Sunfish-4.14-android13-qpr3 |
| پیکسل ۴ (شعله) پیکسل ۴ ایکسال (مرجانی) | دستگاه/گوگل/هسته مرجانی | اندروید-msm-coral-4.14-android13 |
| پیکسل ۳a (سارگو) پیکسل ۳a XL (با حروف لاتین) | دستگاه/گوگل/هسته بونیتو | اندروید-msm-bonito-4.9-android12L |
| پیکسل ۳ (خط آبی) پیکسل ۳ ایکسال (با هاشور متقاطع) | دستگاه/گوگل/کراسهاچ-هسته | اندروید-msm-crosshatch-4.9-android12 |
| پیکسل ۲ (والآی) پیکسل ۲ ایکسال (تا به حال) | دستگاه/گوگل/wahoo-kernel | اندروید-msm-wahoo-4.4-android10-qpr3 |
| پیکسل (بادبانماهی) پیکسل XL (مارلین) | دستگاه/گوگل/هسته مارلین | اندروید-MSM-marlin-3.18-pie-qpr2 |