يوفر هذا الدليل إرشادات خطوة بخطوة حول كيفية تنزيل وتجميع وتحديث نواة Pixel مخصصة للتطوير. بفضل GKI، أصبح من الممكن الآن تحديث النواة بشكل مستقل عن بنية نظام Android الأساسي. تنطبق هذه الخطوات على أجهزة Pixel 6 والإصدارات الأحدث فقط. وذلك لأن هواتف Pixel 5 والأجهزة الأقدم تتطلب تحديث وحدات kernel في قسم vendor
، والذي يعتمد على نظام التشغيل Android الأساسي لتلك الأجهزة. يتضمن جدول فروع Pixel Kernel المدعومة من GKI فرع بيان مستودع kernel لكل جهاز Pixel مدعوم من GKI. راجع قسم Legacy Pixel Kernels الخاص بـ Pixel 5 وفروع بيان kernel الأقدم.
يدعم GKI فروع Pixel kernel
جهاز | المسار الثنائي في شجرة AOSP | فروع المستودع | نواة جي كي آي |
---|---|---|---|
بكسل 8 (شيبا) بكسل 8 برو (هاسكي) | جهاز/جوجل/shusky-kernel | android-gs-shusky-5.15-android14-d1 | android14-5.15 |
بكسل فولد (فيليكس) | الجهاز/جوجل/فيليكس-kernel | الروبوت-GS-فيليكس-5.10-android14 | android13-5.10 |
بيكسل تابلت (تانجوربرو) | الجهاز/google/tangorpro-kernel | android-gs-tangorpro-5.10-android14 | android13-5.10 |
بكسل 7a (الوشق) | جهاز/جوجل/lynx-kernel | أندرويد-GS-lynx-5.10-android14 | android13-5.10 |
بكسل 7 (النمر) بكسل 7 برو (الفهد) | الجهاز/جوجل/pantah-kernel | أندرويد-GS-بانتاه-5.10-android14 | android13-5.10 |
بكسل 6a (بلوجاي) | الجهاز/جوجل/بلوجاي-kernel | الروبوت-GS-بلوجاي-5.10-android14 | android13-5.10 |
بكسل 6 (الأوريول) بكسل 6 برو (غراب أسود) | الجهاز/google/raviole-kernel | android-gs-raviole-5.10-android14 | android13-5.10 |
بالإضافة إلى النوى المدعومة من المصنع، يتم دعم أجهزة Pixel 6 و6 Pro لأغراض تطوير GKI فقط على فروع Android Common kernel المضمنة في نظام Android الأساسي المدعوم Pixel 6/6 Pro وجدول مجموعات Kernel . نظرًا لاختلافات UAPI الخاصة بالموردين بين HALs لنظام Android الأساسي وبرامج تشغيل Pixel kernel، يوفر الجدول مجموعات البناء المدعومة.
دعم نظام Pixel 6/6 Pro Android ومجموعات kernel
فرع بيان نواة البكسل | فرع جي كي اي | بناء منصة أندرويد | aosp-main ؟ |
---|---|---|---|
gs-android-gs-raviole-mainline | android-mainline ( علامة v6.7 ) | UP1A.231005.007.A1 (10762838) | نعم |
android14-gs-بكسل-6.1 | android14-6.1 | UP1A.231005.007.A1 (10762838) | نعم |
gs-android13-gs-raviole-5.15 | android13-5.15 | TQ1A.230205.002 (9471150) | لا |
قم بإعداد جهاز Pixel الخاص بك
يصف المخطط الانسيابي التالي عملية تحديث النواة على أجهزة Pixel 6 والأجهزة الأحدث:
قم بتفليش الجهاز باستخدام flash.android.com
- انتقل إلى flash.android.com
- اختر إصدار Android استنادًا إلى نظام Android الأساسي ومجموعات Kernel المدعومة .
- حدد الخيارات التالية:
- جهاز مسح
- فرض فلاش كافة الأقسام
- تعطيل التحقق
- اضغط على زر تثبيت البناء لفلاش الجهاز.
تحميل وتجميع النواة
مزامنة مستودع النواة
قم بتشغيل الأوامر التالية لتنزيل الكود المصدري للنواة. راجع جدول Pixel 6/6 Pro Android الأساسي ومجموعات Kernel المدعومة لجهاز Pixel KERNEL_MANIFEST_BRANCH .
repo init -u https://android.googlesource.com/kernel/manifest -b KERNEL_MANIFEST_BRANCH
repo sync -c --no-tags
قم بتحديث قرص ذاكرة الوصول العشوائي الخاص بالمورد
قم بتحديث الملف vendor_ramdisk- DEVICE .img
الموجود في مستودع kernel ليتوافق مع إصدار نظام Android الأساسي الذي تم وميضه على الجهاز. هناك بعض الخيارات التي يمكنك اتباعها.
الخيار 1) قم باستخراج صورة قرص ذاكرة البائع من صورة مصنع Pixel .
قم بتنزيل صورة المصنع المدعومة لجهازك من https://developers.google.com/android/images.
قم باستخراج
vendor_boot.img
:- تستخدم الأوامر التالية هاتف Pixel 6 Pro UP1A.231005.007.a1 كمثال. استبدل اسم الملف المضغوط باسم ملف صورة المصنع التي قمت بتنزيلها.
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
قم بفك ضغط
vendor_boot.img
للحصول على قرص ذاكرة الوصول العشوائي الخاص بالمورد.KERNEL_REPO_ROOT/tools/mkbootimg/unpack_bootimg.py --boot_img vendor_boot.img \ --out vendor_boot_out
انسخ ملف
ramdisk_
المستخرج إلى مستودع Pixel kernel.جهاز DEVICE_RAMDISK_PATH بكسل 6 (الأوريول)
بكسل 6 برو (غراب أسود)prebuilts/boot-artifacts/ramdisks/vendor_ramdisk- oriole.img بكسل 6a (بلوجاي) Private/devices/google/bluejay/vendor_ramdisk- bluejay.img cp vendor_boot_out/vendor-ramdisk-by-name/ramdisk_ \ KERNEL_REPO_ROOT/DEVICE_RAMDISK_PATH
الخيار 2) انسخ vendor_ramdisk
من مستودع نظام Android الأساسي المبني محليًا.
جهاز | DEVICE_RAMDISK_PATH |
---|---|
بكسل 6 (الأوريول) بكسل 6 برو (غراب أسود) | prebuilts/boot-artifacts/ramdisks/vendor_ramdisk- oriole.img |
بكسل 6a (بلوجاي) | 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
تجميع النواة (كليف)
في Android 13، تم استبدال البرنامج النصي build.sh
بنظام بناء kernel جديد يسمى Kleaf . بالنسبة للأجهزة التي تستخدم android13-5.15
والإصدارات الأحدث، يجب إنشاء النواة باستخدام Kleaf.
بالنسبة إلى هواتف Pixel 6 و6 Pro التي تعمل بنواة android14
والإصدارات الأحدث، قم بتشغيل أمر Kleaf build:
tools/bazel run --config=fast --config=stamp //private/google-modules/soc/gs:slider_dist
بالنسبة إلى هواتف Pixel 6 و6 Pro التي تعمل بنواة android13-5.15
، قم بتشغيل أمر Kleaf build:
tools/bazel run --lto=thin //gs/google-modules/soc-modules:slider_dist
بالنسبة لجميع نواة Pixel الأخرى، قم بتشغيل البرنامج النصي build_ DEVICE.sh
الموجود في KERNEL_REPO_ROOT . على سبيل المثال، لبناء نواة هاتف Pixel 6 على الفرع android-gs-raviole-5.10-android14
، عليك تشغيل الأمر:
build_slider.sh
بشكل افتراضي، تستخدم البرامج النصية build_ DEVICE .sh
نواة GKI المعدة مسبقًا لتسريع عملية الإنشاء. إذا كنت تريد تعديل النواة الأساسية، فقم بتعيين متغير البيئة BUILD_AOSP_KERNEL=1
لبناء النواة من المصادر المحلية بدلاً من ذلك.
لمزيد من التفاصيل حول نظام بناء النواة وكيفية تخصيص البناء، راجع وثائق Kleaf .
فلاش الصور النواة
ملاحظة: إذا لم تقم بتعطيل التحقق، فيجب عليك القيام بذلك قبل تحديث النواة المخصصة. إليك الأمر للقيام بذلك:fastboot oem disable-verification
تحذير: إذا كنت تقوم بتحديث نواة مخصصة أعلى بنية النظام الأساسي، فقد تحتاج إلى مسح جهازك إذا كان هناك خفض مستوى تصحيح الأمان (SPL) المرتبط بالنواة الجديدة. تؤدي هذه العملية إلى مسح جميع بياناتك الشخصية. تأكد من عمل نسخة احتياطية من بياناتك قبل المسح.fastboot -w
لوميض صور kernel، قم بتشغيل أمر fastboot flash
لكل قسم kernel مدرج في جهازك. بالنسبة للأقسام الديناميكية، تحتاج إلى إعادة التشغيل في وضع fastbootd
قبل التفليش.
جهاز | أقسام النواة |
---|---|
بكسل 6 (الأوريول) بكسل 6 برو (غراب أسود) بكسل 6a (بلوجاي) | حذاء طويل com.dtbo بائع_التمهيد بائع_دلكم (قسم ديناميكي) |
بكسل 8 (شيبا) بكسل 8 برو (هاسكي) بكسل فولد (فيليكس) بيكسل تابلت (تانجوربرو) بكسل 7a (الوشق) بكسل 7 (النمر) بكسل 7 برو (الفهد) | حذاء طويل com.dtbo بائع_kernel_boot بائع_دلكم (قسم ديناميكي) system_dlkm (القسم الديناميكي) |
فيما يلي الأوامر الوامضة لجهاز Pixel 6 على 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
يمكن العثور على صور النواة في DIST_DIR .
فرع النواة | DIST_DIR |
---|---|
v5.10 | out/mixed/dist |
الإصدار 5.15 والإصدارات الأحدث | out/ DEVICE /dist |
ملاحظة: إذا كان لديك دونجل تسلسلي وتريد تمكين السجلات التسلسلية، فالأمر هو:مثال لأمر للاتصال من المضيف:fastboot oem uart enable
fastboot oem uart config 3000000
screen -fn /dev/ttyUSB* 3000000
استعادة صور المصنع
لاستعادة جهازك مرة أخرى إلى صور المصنع، يمكنك استخدام flash.android.com .
حبات البكسل القديمة
كمرجع، يوفر جدول فروع Pixel kernel القديم فروع مستودع kernel لأجهزة Pixel 5 والأجهزة الأقدم. هذه الأجهزة غير مدعومة بـ GKI.
فروع نواة البكسل القديمة
جهاز | المسار الثنائي في شجرة AOSP | فروع المستودع |
---|---|---|
بكسل 5a (باربيت) بكسل 4a (5G) (العوسج) بكسل 5 (ريدفين) | الجهاز/جوجل/ريدبول-kernel | أندرويد-msm-ريدبول-4.19-android14 |
بكسل 4a (سمكة الشمس) | جهاز/جوجل/sunfish-kernel | android-msm-sunfish-4.14-android13-qpr3 |
بكسل 4 (لهب) بكسل 4 XL (مرجاني) | جهاز/جوجل/كورال نواة | أندرويد-msm-كورال-4.14-android13 |
بكسل 3a (سارجو) بكسل 3a XL (بونيتو) | الجهاز/جوجل/bonito-kernel | الروبوت-msm-بونيتو-4.9-android12L |
بكسل 3 (الخط الأزرق) بكسل 3 XL (تظليل متقاطع) | الجهاز/google/crosshatch-kernel | android-msm-crosshatch-4.9-android12 |
بكسل 2 (عين رمادية فاتحة اللون) بكسل 2 XL (تايمن) | الجهاز/جوجل/wahoo-kernel | الروبوت-msm-wahoo-4.4-android10-qpr3 |
بكسل (سمكة أبو شراع) بكسل XL (مارلين) | الجهاز/جوجل/مارلين-kernel | الروبوت-msm-مارلين-3.18-فطيرة-qpr2 |