Cuttlefish 하이브리드 기기 만들기

이 페이지에서는 Cuttlefish 하이브리드 기기 (CHD)를 만드는 방법을 설명합니다.

CHD는 하이브리드 가상 Cuttlefish 기기로, 기기의 HAL에서 Cuttlefish 시스템 이미지 대신 실제 기기의 시스템 이미지를 실행합니다. 이를 통한 이점은 다음과 같습니다.

  • 조기 개발 및 테스트: CHD를 사용하면 실제 하드웨어를 사용하기 전에 차세대 시스템 소프트웨어를 조기에 개발하고 테스트할 수 있습니다.

  • 확장성: CHD를 사용하면 개발 및 테스트 용량을 더 쉽게 확장할 수 있습니다.

CHD 이미지 만들기

CHD 이미지를 만들려면 다음 단계를 따르세요.

  1. make dist를 사용하여 공급업체 타겟 및 실제 기기의 타겟 파일을 생성합니다. 다음 옵션 중 하나를 사용하여 공급업체 타겟 파일을 생성합니다.

  2. 두 타겟 파일을 CHD 타겟 파일로 결합하고 CHD 타겟 파일에서 CHD 이미지를 생성합니다. build_cf_hybrid_device.py 이 스크립트는 두 타겟 파일을 CHD 타겟 파일로 결합하고 merge_target_files.py CHD 타겟 파일에서 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를 사용하여 CHD 이미지의 공급업체 타겟 파일로 사용할 수 있는 aosp_cf_arm64_phone_vendor 타겟을 정의할 수 있습니다.

Cuttlefish 공급업체 전용 타겟을 만들려면 다음 단계를 따르세요.

  1. 전체 아티팩트를 빌드하는 Cuttlefish 타겟을 상속합니다.

    $(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
    

CHD를 실행할 호스트 환경 선택

ARM64 기반 CHD를 실행하고 관리하기 위한 확장 가능한 호스트 환경을 설정하려면 워크플로에 따라 설정을 선택하세요.