توضّح هذه الصفحة كيفية إنشاء ميزات مشغِّل تحميل Android وتشغيلها وتطويرها على جهاز Cuttlefish.
مصادر مشروع Android المفتوح المصدر (AOSP)
لتطوير ميزات مشغّل تحميل نظام التشغيل Android، استخدِم إعدادات Cuttlefish ل
U-boot مع Cuttlefish في
فرع الإصدار الأخير (android16-release
) أو على فروع صورة النظام العامة (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
.شغِّل جهاز Cuttlefish باستخدام برنامج الإقلاع. أدرِج المَعلمة
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.