Bu sayfada, Cuttlefish hibrit cihazının (CHD) nasıl oluşturulacağı açıklanmaktadır.
CHD, cihazın HAL'lerinde Cuttlefish sistem görüntüsü yerine fiziksel bir cihazın sistem görüntüsünü çalıştıran hibrit bir sanal Cuttlefish cihazıdır. Bu durum, şu avantajları sunar:
Erken geliştirme ve test: CHD'ler, fiziksel donanım kullanıma sunulmadan önce yeni nesil sistem yazılımının erken geliştirilmesine ve test edilmesine olanak tanır.
Ölçeklenebilirlik: CH'ler, geliştirme ve test kapasitesinin daha kolay genişletilmesini sağlar.
CHD görüntüsü oluşturma
CHD görüntüsü oluşturmak için aşağıdaki adımları uygulayın:
make distkullanarak satıcı hedefi ve fiziksel cihaz için hedef dosyaları oluşturun. Aşağıdaki seçeneklerden birini kullanarak satıcı hedef dosyalarını oluşturun:- Mevcut bir tam Cuttlefish hedefi
- Yalnızca Cuttlefish satıcı dosyalarını oluşturan bir Cuttlefish hedefi. Daha fazla bilgi için Cuttlefish satıcı hedefi oluşturma başlıklı makaleyi inceleyin.
İki hedef dosyayı bir CHD hedef dosyasında birleştirin ve
build_cf_hybrid_device.pykomut dosyasını çalıştırarak CHD hedef dosyasından CHD görüntüleri oluşturun. Bu komut dosyası,merge_target_files.pykullanarak iki hedef dosyayı tek bir CHD hedef dosyasında birleştirir veimg_from_target_fileskullanarak CHD hedef dosyasından CHD görüntüleri oluşturur.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 tedarikçi hedefi oluşturma
aosp_cf_vendor.mk kullanarak aosp_cf_arm64_phone_vendor hedefi tanımlayabilirsiniz. Bu hedefi, CHD görüntüsü için satıcı hedef dosyası olarak kullanabilirsiniz.
Yalnızca satıcıya yönelik bir Cuttlefish hedefi oluşturmak için aşağıdaki adımları uygulayın:
Tam yapılar oluşturan Cuttlefish hedefini devralın:
$(call inherit-product, device/google/cuttlefish/vsoc_arm64/phone/aosp_cf.mk)Hedef adını tanımlayın:
PRODUCT_NAME := aosp_cf_arm64_phone_vendorTam yapıtlar içindeki gereksiz derlemeleri devre dışı bırakın:
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 başlatmak için bir ana makine ortamı seçin
ARM64 tabanlı CHD'leri başlatmak ve yönetmek için ölçeklenebilir bir ana makine ortamı oluşturmak istiyorsanız iş akışınıza uygun bir kurulum seçin:
Google Cloud C4A bare metal (önerilir): Google Cloud C4A bare metal örnekleri (ör.
c4a-standard-96-metalveyac4a-highmem-96-metal), Google Axion işlemcileri tarafından desteklenen yerel ARM64 KVM donanım hızlandırması sağlar. Bu kurulum, iç içe sanallaştırma ek yükü olmadan bulutta ARM64 CHD'ler için yüksek performanslı ve yüksek oranda ölçeklenebilir yürütme sağlar. Ayrıca, OmniLab ATS Cloud Orchestration, cihaz tahsisini, test düzenlemesini ve altyapı yönetimini otomatikleştirmek içinc4a-metalile entegre olur.Manuel ana makine veya şirket içi kurulum (alternatif): Özel yerel veya laboratuvar ARM donanımında çalışıyorsanız ya da OmniLab ATS olmadan bir ana makine ortamını manuel olarak yapılandırıyorsanız Cuttlefish'i şirket içi bir sunucuda çalıştırma başlıklı makaleyi inceleyin.