توضّح هذه الصفحة كيفية تطوير نواة Android على أجهزة Cuttlefish.
ملفات بيان النواة المتوافقة
تتوافق أداة Cuttlefish مع ملفات بيان النواة التالية على فرع أحدث إصدار من Android وإصدارات AOSP GSI.
- في
android-latest-release
common-android-mainline
- في
android-15.0.0_r36
common-android16-6.12
common-android15-6.6
common-android14-6.1
common-android14-5.15
- في
aosp-android13-gsi
common-android13-5.15
common-android13-5.10
- في
aosp-android12-gsi
common-android12-5.10
common-android12-5.4
common-android-4.19-stable
- في
aosp-android11-gsi
common-android11-5.4
common-android-4.19-stable
common-android-4.14-stable
في ما يلي مصادر نواة نظام التشغيل لتطويرها على أجهزة Cuttlefish.
kernel/common-android-mainline
kernel/common-android16-6.12
kernel/common-android15-6.6
kernel/common-android14-6.1
kernel/common-android14-5.15
kernel/common-android13-5.15
kernel/common-android13-5.10
تطوير نواة نظام التشغيل Android
لتطوير نواة على أجهزة Cuttlefish، اتّبِع الخطوات التالية:
يمكنك استنساخ بيان مستودع نواة الجهاز المناسب لجهاز Cuttlefish و إجراء أي تغييرات.
mkdir common-android-mainline
cd common-android-mainline
repo init -u https://android.googlesource.com/kernel/manifest -b common-android-mainline
repo sync -c -j$(nproc) -q
أنشئ النواة وذاكرة التخزين المؤقت للرام. لمزيد من المعلومات، يُرجى الاطّلاع على مقالة إنشاء وحدات المورّدين للجهاز الافتراضي.
tools/bazel run //common-modules/virtual-device:virtual_device_x86_64_dist
في حال استخدام بيان نواة
common-android-4.19-stable
أوcommon-android-4.14-stable
أوcommon-android11-5.4
، شغِّل:BUILD_CONFIG=common/build.config.gki.x86_64 build/build.sh && BUILD_CONFIG=common-modules/virtual-device/build.config.cuttlefish.x86_64 build/build.sh
بدلاً من إنشاء الإصدار على الجهاز (لتجنُّب تنزيل مصدر النواة، وإعداد بيئة تطوير للنواة)، يمكنك تنزيل العناصر ذات الصلة على ci.android.com.
شغِّل kernel وramdisk باستخدام Cuttlefish.
cvd create \ -kernel_path=./out/virtual_device_x86_64/dist/bzImage \ -initramfs_path=./out/virtual_device_x86_64/dist/initramfs.img
في حال تشغيل نواة غير نواة GKI (أي إصدار 4.19 أو إصدار أقدم)، يجب حذف الوسيطة
-initramfs_path
.إذا كنت بصدد تشغيل النواة على إصدار aarch64 من Cuttlefish، استخدِم ملف إعدادات الإنشاء
aarch64
واستخدِم العنصرImage
بدلاً منbzImage
.cvd create \ -kernel_path=./out/virtual_device_aarch64/dist/Image \ -initramfs_path=./out/virtual_device_aarch64/dist/initramfs.img