Создайте гибридное устройство «Каракатица»

На этой странице описано, как создать гибридное устройство «Каракатица» (ГКУ).

CHD — это гибридное виртуальное устройство Cuttlefish, которое запускает образ системы физического устройства вместо образа системы Cuttlefish на HAL-модулях устройства. Это дает следующие преимущества:

  • Ранняя разработка и тестирование: CHD-модули позволяют проводить раннюю разработку и тестирование программного обеспечения систем следующего поколения до того, как станет доступно физическое оборудование.

  • Масштабируемость: CHD-системы упрощают расширение возможностей разработки и тестирования.

Создать образ CHD

Для создания изображения CHD выполните следующие шаги:

  1. Создайте целевые файлы для целевого устройства поставщика и физического устройства с помощью make dist . Для создания целевых файлов поставщика используйте один из следующих вариантов:

    • Существующая цель "Кальмар" в полном объеме
    • Цель Cuttlefish, которая собирает только файлы поставщика Cuttlefish. Для получения дополнительной информации см. раздел «Создание цели поставщика Cuttlefish» .
  2. Объедините два целевых файла в один целевой файл CHD и сгенерируйте изображения CHD из этого целевого файла, запустив скрипт build_cf_hybrid_device.py . Этот скрипт объединяет два целевых файла в один целевой файл CHD с помощью merge_target_files.py и генерирует изображения CHD из этого целевого файла с помощью img_from_target_files .

    python3 tools/treble/cuttlefish/build_cf_hybrid_device.py \
      --framework_target_files_zip <physical_device_target_files.zip> \
      --vendor_target_files_zip <cuttlefish_device_target_files.zip> \
      --otatools_zip <cuttlefish_otatools.zip> \
      --target chd \
      --output_dir <output_directory>
    

Создать целевой объект поставщика каракатиц

Для создания целевого объекта Cuttlefish, предназначенного только для конкретного поставщика, выполните следующие шаги:

Вы можете использовать файл aosp_cf_vendor.mk для определения целевого объекта aosp_cf_arm64_phone_vendor , который можно использовать в качестве файла целевого объекта поставщика для образа CHD.

  1. Унаследуйте цель "Каракатица", которая позволяет создавать полноценные артефакты.

    $(call inherit-product, device/google/cuttlefish/vsoc_arm64/phone/aosp_cf.mk)
    
  2. Укажите имя цели.

    PRODUCT_NAME := aosp_cf_arm64_phone_vendor
    
  3. Отключите ненужные сборки из полных артефактов.

    PRODUCT_BUILD_SYSTEM_IMAGE := false
    PRODUCT_BUILD_SYSTEM_OTHER_IMAGE := false
    PRODUCT_BUILD_PRODUCT_IMAGE := false
    PRODUCT_BUILD_SYSTEM_EXT_IMAGE := false
    PRODUCT_BUILD_SUPER_PARTITION := false
    TARGET_SKIP_OTA_PACKAGE := true