این راهنما دستورالعملهای گام به گام در مورد نحوه دانلود، کامپایل و فلش کردن یک هسته پیکسل سفارشی برای توسعه ارائه میدهد. به لطف GKI، اکنون میتوان هسته را مستقل از ساخت پلتفرم اندروید بهروزرسانی کرد. این مراحل فقط برای دستگاههای پیکسل ۶ و بالاتر قابل اجرا هستند. دلیل این امر آن است که دستگاههای پیکسل ۵ و قبل از آن نیاز به بهروزرسانی ماژولهای هسته در پارتیشن vendor دارند که به ساخت پلتفرم اندروید برای آن دستگاهها بستگی دارد. جدول شاخههای هسته پیکسل پشتیبانیشده توسط GKI شامل شاخه مانیفست مخزن هسته برای هر دستگاه پیکسل پشتیبانیشده توسط GKI است. برای شاخههای مانیفست هسته پیکسل ۵ و قبل از آن به Legacy Pixel Kernels مراجعه کنید.
پیکسل ۶ و پیکسل ۶ پرو همچنین در هسته لینوکس بالادستی پشتیبانی میشوند و میتوانند فقط با درایورهای بالادستی به اعلان پوسته دستگاه بوت شوند. برای جزئیات بیشتر به ساخت و فلش کردن هسته پیکسل بالادستی مراجعه کنید.
ساخت و فلش کردن هستههای GKI Pixel
این بخش مراحل همگامسازی، ساخت و فلش کردن شاخههای هسته پشتیبانیشده توسط 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 و Pixel 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 به جدول ترکیبات کرنل و پلتفرم اندروید پشتیبانیشدهی پیکسل ۶ و پیکسل ۶ پرو مراجعه کنید.
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فلش کنید. برای استفاده از این گزینه، Android platform-tools خود را به نسخه 36.0.0 یا جدیدتر ارتقا دهید. برای انجام این کار، دستور زیر را اجرا کنید:$ANDROID_HOME/cmdline-tools/latest/bin/sdkmanager "platform-tools"دستورالعملها را برای فلش کردن 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
کامپایل کردن هسته
در اندروید ۱۳، اسکریپت 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 استفاده کنید.
ساخت و فلش کردن هسته پیکسل بالادستی
از آنجا که پیکسل ۶ و پیکسل ۶ پرو در هسته لینوکس بالادستی پشتیبانی میشوند، میتوانید android-mainline فقط با درایورهای بالادستی برای بوت شدن به اعلان پوسته دستگاه برای توسعه هسته استفاده کنید. این بخش مراحل همگامسازی، ساخت و فلش کردن هسته پیکسل ۶ و پیکسل ۶ پرو از android-mainline را ارائه میدهد.
برای شروع مراحل بعدی را دنبال کنید.
- با دنبال کردن مراحل موجود در بخش «آمادهسازی دستگاه Pixel» دستگاه خود را آماده کنید.
- با دنبال کردن مراحل موجود در Sync the kernel repository، شاخه manifest هسته
common-android-mainlineرا همگامسازی کنید. پیکربندی هدف ساخت Kleaf در مسیر
KERNEL_REPO_ROOT /devices/google/ravioleتعریف شده است. برای کامپایل هدف ساختraviole_upstream، دستور Kleaf را اجرا کنید:tools/bazel run //devices/google/raviole:raviole_upstream_distمشابه کرنلهای اصلی، هنگام فلش کردن یک کرنل سفارشی روی ایمیجهای کارخانهای اندروید، تأیید را غیرفعال کرده و دستگاه خود را پاک کنید. برای جزئیات بیشتر به یادداشتهای موجود در فلش کردن ایمیجهای کرنل مراجعه کنید.
در حالت فستبوت، دستورات زیر را برای فلش کردن ایمیجهای کرنل اجرا کنید:
fastboot flash boot out/raviole_upstream/dist/boot.img fastboot flash dtbo out/raviole_upstream/dist/dtbo.img fastboot flash --dtb out/raviole_upstream/dist/dtb.img \ vendor_boot:dlkm out/raviole_upstream/dist/initramfs.imgبرای دسترسی به اعلان پوسته دستگاه، میتوانید با اجرای دستور زیر، دستگاه را مجدداً به حالت ریکاوری ببرید:
fastboot reboot recoveryبا اجرای دستور
adb shellپوسته دستگاه را باز کنید. همچنین میتوان با اجرای دستورadb rootاز دسترسی روت استفاده کرد.
هستههای پیکسل قدیمی
به عنوان مرجع، جدول شاخههای هسته Legacy 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 |