بناء حبات بكسل

يوفر هذا الدليل إرشادات خطوة بخطوة حول كيفية تنزيل وتجميع وتحديث نواة 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 والأجهزة الأحدث:

**الشكل 1.** مخطط تدفق تحديث النواة

قم بتفليش الجهاز باستخدام flash.android.com

  1. انتقل إلى flash.android.com
  2. اختر إصدار Android استنادًا إلى نظام Android الأساسي ومجموعات Kernel المدعومة .
  3. حدد الخيارات التالية:
    • جهاز مسح
    • فرض فلاش كافة الأقسام
    • تعطيل التحقق
  4. اضغط على زر تثبيت البناء لفلاش الجهاز.

**الشكل 2.** مثال على محطة الفلاش

تحميل وتجميع النواة

مزامنة مستودع النواة

قم بتشغيل الأوامر التالية لتنزيل الكود المصدري للنواة. راجع جدول 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 .
  1. قم بتنزيل صورة المصنع المدعومة لجهازك من https://developers.google.com/android/images.

  2. قم باستخراج 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
    
  3. قم بفك ضغط vendor_boot.img للحصول على قرص ذاكرة الوصول العشوائي الخاص بالمورد.

      KERNEL_REPO_ROOT/tools/mkbootimg/unpack_bootimg.py --boot_img vendor_boot.img \
          --out vendor_boot_out
    
  4. انسخ ملف 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