تطوير ميزات أداة تحميل التشغيل لنظام Android

توضح هذه الصفحة كيفية إنشاء ميزات أداة تحميل تشغيل Android وتشغيلها وتطويرها على جهاز Cuttlefish.

مصادر AOSP

لتطوير ميزات أداة تحميل التشغيل لنظام التشغيل Android، استخدم تكوين Cuttlefish الخاص بـ U-boot مع Cuttlefish في فروع 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 مختلفة، قم بتمرير العناصر المستهدفة (وحدات 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 .