توضّح هذه الصفحة كيفية إنشاء ميزات مشغِّل تحميل Android وتشغيلها وتطويرها على جهاز Cuttlefish.
مصادر AOSP
لتطوير ميزات مشغّل تحميل نظام التشغيل Android، استخدِم إعدادات Cuttlefish لملف U-boot مع Cuttlefish في aosp-main
أو على فروع صورة النظام العامة (GSI)
لنظام التشغيل Android 11 أو الإصدارات الأحدث. في ما يلي المصادر في AOSP:
تطوير برنامج إقلاع
لإنشاء ميزات برنامج الإقلاع وتشغيلها وتطويرها على الجهاز، اتبع الخطوات التالية:
يمكنك استنساخ بيان الترخيص لإصدار U-boot المشتق من Android:
$ mkdir u-boot-mainline $ cd u-boot-mainline $ repo init -u https://android.googlesource.com/kernel/manifest -b u-boot-mainline $ repo sync -j$(nproc) -q
أنشئ ملف الهدف لبرنامج التمهيد المناسب لبنية Cuttlefish. مثلاً:
x86_64
$ tools/bazel run //u-boot:crosvm_x86_64_dist
aarch64
$ tools/bazel run //u-boot:crosvm_aarch64_dist
يمكن العثور على ملف bootloader الثنائي الناتج (
u-boot.bin
لنظام التشغيل arm64 وu-boot.rom
لنظام التشغيل x86_64) في$PATH_TO_REPO/out/u-boot-mainline/dist
.شغِّل جهاز حبَّار باستخدام برنامج الإقلاع. يمكنك تضمين المَعلمة
pause_in_bootloader
لإيقاف التشغيل التلقائي والسماح لك بالتفاعل مع برنامج الإقلاع.$ launch_cvd \ -bootloader /$PATH/$TO/u-boot-mainline/out/u-boot-mainline/dist/u-boot.rom \ -pause_in_bootloader -console=true
للتفاعل مع برنامج الإقلاع، عليك الاتصال بوحدة تحكّم برنامج الإقلاع.
$ screen ~/cuttlefish_runtime/console
عند الانتهاء من تفاعلات أداة تحميل البرامج، يمكنك مواصلة عملية التشغيل عن طريق كتابة
boot
في وحدة التحكّم.
اختبار مسار برنامج الإقلاع باستخدام نواة مختلفة
لاختبار تسلسل أداة تحميل البرامج باستخدام نواة أو وحدات نواة مختلفة، عليك تمرير
العناصر المستهدفة (النواة ووحداتها) باستخدام وسيطات --kernel_path
و
--initramfs_path
. يُعيد المُجمِّع تجميع صور التمهيد استنادًا إلى
العناصر التي تم تمريرها في الوسيطات.
cvd create \
-kernel_path=/$PATH/$TO/common-android14-6.1/out/android14-6.1/dist/bzImage \
-initramfs_path=/$PATH/$TO/common-android14-6.1/out/android14-6.1/dist/initramfs.img
لمزيد من المعلومات، يُرجى الاطّلاع على مقالة تطوير نواة Android.