توضح هذه الصفحة كيفية إنشاء ميزات أداة تحميل تشغيل Android وتشغيلها وتطويرها على جهاز Cuttlefish.
مصادر AOSP
لتطوير ميزات أداة تحميل التشغيل لنظام التشغيل Android، استخدم تكوين Cuttlefish الخاص بـ U-boot مع Cuttlefish في فروع aosp-main
أو على فروع صورة النظام العامة (GSI) لنظام Android 11 أو أعلى. فيما يلي المصادر في AOSP:
تطوير محمل الإقلاع
لإنشاء ميزات أداة تحميل التشغيل وتشغيلها وتطويرها محليًا، اتبع الخطوات التالية:
استنساخ البيان لشوكة Android لـ U-boot:
$ 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
تم العثور على ثنائي أداة تحميل التشغيل الناتجة (
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 مختلفة، قم بتمرير العناصر المستهدفة (وحدات kernel وkernel) باستخدام وسيطات --kernel_path
و --initramfs_path
. يقوم المجمّع بإعادة حزم صور التمهيد استنادًا إلى العناصر التي تم تمريرها في الوسائط.
cvd start \
-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 Kernels .