تطوير ميزات مشغّل تحميل نظام التشغيل Android

تصف هذه الصفحة كيفية إنشاء وتشغيل وتطوير ميزات برنامج إقلاع Android على جهاز حبَّار.

مصادر AOSP

لتطوير ميزات برنامج إقلاع Android، استخدِم إعدادات تطبيق Cuttlefish حذاء على شكل حرف U مع حبَّار داخله aosp-main أو على فروع صورة النظام العامة (GSI) على نظام التشغيل Android 11 أو الإصدارات الأحدث في ما يلي المصادر في AOSP:

تطوير برنامج إقلاع

لإنشاء ميزات برنامج الإقلاع وتشغيلها وتطويرها على الجهاز، اتبع الخطوات التالية:

  1. استنسِخ البيان الخاص بشوكة 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
  2. أنشِئ استهداف برنامج الإقلاع المناسب لبنية 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.

  3. شغِّل جهاز 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
  4. للتفاعل مع برنامج الإقلاع، يجب الاتصال بوحدة التحكّم في برنامج الإقلاع.

    $ screen ~/cuttlefish_runtime/console
  5. عند الانتهاء من تفاعلات أداة تحميل البرامج، يمكنك مواصلة عملية التشغيل عن طريق كتابة 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 Kernels.