इस पेज पर, Cuttlefish हाइब्रिड डिवाइस (सीएचडी) बनाने का तरीका बताया गया है.
सीएचडी, हाइब्रिड वर्चुअल कटलफ़िश डिवाइस होता है. यह डिवाइस के एचएएल पर, कटलफ़िश सिस्टम इमेज के बजाय किसी फ़िज़िकल डिवाइस की सिस्टम इमेज चलाता है. इससे ये फ़ायदे मिलते हैं:
शुरुआती डेवलपमेंट और टेस्टिंग: सीएचडी की मदद से, अगली जनरेशन के सिस्टम सॉफ़्टवेयर को फ़िज़िकल हार्डवेयर के उपलब्ध होने से पहले ही डेवलप और टेस्ट किया जा सकता है.
स्केलेबिलिटी: सीएचडी की मदद से, डेवलपमेंट और टेस्टिंग की क्षमता को आसानी से बढ़ाया जा सकता है.
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 टारगेट तय किया जा सकता है. इसका इस्तेमाल, सीएचडी इमेज के लिए वेंडर टारगेट फ़ाइल के तौर पर किया जा सकता है.
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