이 페이지에서는 Cuttlefish 하이브리드 기기 (CHD)를 만드는 방법을 설명합니다.
CHD는 하이브리드 가상 Cuttlefish 기기로, 기기의 HAL에서 Cuttlefish 시스템 이미지 대신 실제 기기의 시스템 이미지를 실행합니다. 이렇게 하면 다음과 같은 장점이 있습니다.
초기 개발 및 테스트: CHD를 사용하면 실제 하드웨어를 사용할 수 있기 전에 차세대 시스템 소프트웨어를 초기 개발하고 테스트할 수 있습니다.
확장성: CHD를 사용하면 개발 및 테스트 용량을 더 쉽게 확장할 수 있습니다.
CHD 이미지 만들기
CHD 이미지를 만들려면 다음 단계를 따르세요.
make dist를 사용하여 공급업체 타겟과 실제 기기의 타겟 파일을 생성합니다. 다음 옵션 중 하나를 사용하여 공급업체 타겟 파일을 생성합니다.- 기존 전체 Cuttlefish 타겟
- Cuttlefish 공급업체 파일만 빌드하는 Cuttlefish 타겟입니다. 자세한 내용은 Cuttlefish 공급업체 타겟 만들기를 참고하세요.
두 타겟 파일을 하나의 CHD 타겟 파일로 결합하고
build_cf_hybrid_device.py스크립트를 실행하여 CHD 타겟 파일에서 CHD 이미지를 생성합니다. 이 스크립트는merge_target_files.py를 사용하여 두 타겟 파일을 하나의 CHD 타겟 파일로 결합하고img_from_target_files를 사용하여 CHD 타겟 파일에서 CHD 이미지를 생성합니다.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 공급업체 타겟 만들기
Cuttlefish 공급업체 전용 타겟을 만들려면 다음 단계를 따르세요.
aosp_cf_vendor.mk를 사용하여 aosp_cf_arm64_phone_vendor 타겟을 정의할 수 있습니다. 이 타겟은 CHD 이미지의 공급업체 타겟 파일로 사용할 수 있습니다.
전체 아티팩트를 빌드하는 Cuttlefish 타겟을 상속합니다.
$(call inherit-product, device/google/cuttlefish/vsoc_arm64/phone/aosp_cf.mk)타겟 이름을 정의합니다.
PRODUCT_NAME := aosp_cf_arm64_phone_vendor전체 아티팩트에서 불필요한 빌드를 사용 중지합니다.
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