Halaman ini menjelaskan cara membuat perangkat hybrid Cuttlefish (CHD).
CHD adalah perangkat Cuttlefish virtual hybrid, yang menjalankan image sistem perangkat fisik, bukan image sistem Cuttlefish di HAL perangkat. Hal ini menawarkan keuntungan sebagai berikut:
Pengembangan dan pengujian awal: CHD memungkinkan pengembangan dan pengujian awal software sistem generasi berikutnya sebelum hardware fisik tersedia.
Skalabilitas: CHD memfasilitasi perluasan kapasitas pengembangan dan pengujian yang lebih mudah.
Membuat image CHD
Untuk membuat image CHD, ikuti langkah-langkah berikut:
Buat file target untuk target vendor dan perangkat fisik menggunakan
make dist. Buat file target vendor menggunakan salah satu opsi berikut:- Target Cuttlefish lengkap yang ada
- Target Cuttlefish yang hanya membuat file vendor Cuttlefish. Untuk mengetahui informasi selengkapnya, lihat Membuat target vendor Cuttlefish.
Gabungkan kedua file target ke dalam file target CHD dan buat image CHD dari file target CHD dengan menjalankan skrip.
build_cf_hybrid_device.pySkrip ini menggabungkan kedua file target ke dalam file target CHD menggunakanmerge_target_files.pydan membuat image CHD dari file target CHD menggunakanimg_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>
Membuat target vendor Cuttlefish
Anda dapat menggunakan aosp_cf_vendor.mk untuk menentukan target
aosp_cf_arm64_phone_vendor, yang dapat Anda gunakan sebagai file target vendor
untuk image CHD.
Untuk membuat target khusus vendor Cuttlefish, ikuti langkah-langkah berikut:
Warisi target Cuttlefish yang membuat artefak lengkap:
$(call inherit-product, device/google/cuttlefish/vsoc_arm64/phone/aosp_cf.mk)Tentukan nama target:
PRODUCT_NAME := aosp_cf_arm64_phone_vendorNonaktifkan build yang tidak diperlukan dari artefak lengkap:
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
Memilih lingkungan host untuk meluncurkan CHD
Untuk menyiapkan lingkungan host yang skalabel untuk meluncurkan dan mengelola CHD berbasis ARM64, pilih penyiapan berdasarkan alur kerja Anda:
Google Cloud C4A bare metal (direkomendasikan): Instance bare metal Google Cloud C4A, seperti
c4a-standard-96-metalatauc4a-highmem-96-metal, menyediakan akselerasi hardware KVM ARM64 native yang didukung oleh prosesor Google Axion. Penyiapan ini memberikan eksekusi berperforma tinggi dan sangat skalabel untuk CHD ARM64 di cloud tanpa overhead virtualisasi bertingkat. Selain itu, Orkestrasi Cloud OmniLab ATS terintegrasi denganc4a-metaluntuk mengotomatiskan alokasi perangkat, orkestrasi pengujian, dan pengelolaan infrastruktur.Penyiapan host manual atau lokal (alternatif): Jika Anda menjalankan hardware ARM lokal atau lab kustom, atau mengonfigurasi lingkungan host secara manual tanpa OmniLab ATS, lihat Menjalankan Cuttlefish di server lokal.