หน้านี้จะอธิบายวิธีสร้างอุปกรณ์ไฮบริด Cuttlefish (CHD)
CHD เป็นอุปกรณ์ Cuttlefish เสมือนแบบไฮบริดที่เรียกใช้ อิมเมจระบบของอุปกรณ์จริงแทนอิมเมจระบบ Cuttlefish ใน HAL ของอุปกรณ์ ซึ่งมีข้อดีดังนี้
การพัฒนาและการทดสอบในช่วงแรก: CHD ช่วยให้สามารถพัฒนาและ ทดสอบซอฟต์แวร์ระบบรุ่นถัดไปได้ตั้งแต่เนิ่นๆ ก่อนที่ฮาร์ดแวร์จริงจะพร้อมใช้งาน
ความสามารถในการปรับขนาด: CHD ช่วยให้ขยายความสามารถในการพัฒนาและการทดสอบได้ง่ายขึ้น
สร้างอิมเมจ CHD
หากต้องการสร้างอิมเมจ CHD ให้ทำตามขั้นตอนต่อไปนี้
สร้างไฟล์เป้าหมายสำหรับเป้าหมายของผู้ให้บริการและอุปกรณ์จริง โดยใช้
make distสร้างไฟล์เป้าหมายของผู้ให้บริการโดยใช้ตัวเลือกใดตัวเลือกหนึ่งต่อไปนี้- เป้าหมาย Cuttlefish แบบเต็มที่มีอยู่
- เป้าหมาย Cuttlefish ที่สร้างเฉพาะไฟล์ผู้ให้บริการ Cuttlefish ดูข้อมูลเพิ่มเติมได้ที่สร้างเป้าหมายผู้ให้บริการ Cuttlefish
รวมไฟล์เป้าหมายทั้ง 2 ไฟล์เป็นไฟล์เป้าหมาย CHD แล้วสร้างรูปภาพ CHD จากไฟล์เป้าหมาย CHD โดยเรียกใช้สคริปต์
build_cf_hybrid_device.pyสคริปต์นี้จะรวมไฟล์เป้าหมาย 2 ไฟล์เป็นไฟล์เป้าหมาย CHD โดยใช้merge_target_files.pyและสร้างอิมเมจ CHD จากไฟล์เป้าหมาย CHD โดยใช้img_from_target_filespython3 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 เพื่อกำหนดaosp_cf_arm64_phone_vendorเป้าหมาย ซึ่งคุณสามารถใช้เป็นไฟล์เป้าหมายของผู้ให้บริการสำหรับรูปภาพ CHD ได้
หากต้องการสร้างเป้าหมายสำหรับผู้ให้บริการ Cuttlefish เท่านั้น ให้ทำตามขั้นตอนต่อไปนี้
รับช่วงเป้าหมาย 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
เลือกสภาพแวดล้อมโฮสต์เพื่อเปิดใช้ CHD
หากต้องการตั้งค่าสภาพแวดล้อมโฮสต์ที่ปรับขนาดได้สำหรับการเปิดตัวและจัดการ CHD ที่ใช้ ARM64 ให้เลือกการตั้งค่าตามเวิร์กโฟลว์ของคุณ ดังนี้
Bare Metal C4A ของ Google Cloud (แนะนำ): อินสแตนซ์ Bare Metal C4A ของ Google Cloud เช่น
c4a-standard-96-metalหรือc4a-highmem-96-metalมีการเร่งฮาร์ดแวร์ KVM แบบ ARM64 ดั้งเดิม ที่ขับเคลื่อนด้วยโปรเซสเซอร์ Google Axion การตั้งค่านี้ให้การดำเนินการที่มีประสิทธิภาพสูงและปรับขนาดได้สูงสำหรับ CHD ของ ARM64 ในระบบคลาวด์โดยไม่มีค่าใช้จ่ายของระบบเสมือนจริงที่ซ้อนกัน นอกจากนี้ การจัด Orchestration บนระบบคลาวด์ของ OmniLab ATS ยังผสานรวมกับc4a-metalเพื่อทำให้การจัดสรรอุปกรณ์ การจัด Orchestration การทดสอบ และการจัดการโครงสร้างพื้นฐานเป็นแบบอัตโนมัติการตั้งค่าโฮสต์ด้วยตนเองหรือในองค์กร (ทางเลือก): หากคุณใช้ฮาร์ดแวร์ ARM ในห้องทดลองหรือฮาร์ดแวร์ ARM ในเครื่องที่กำหนดเอง หรือกำหนดค่าสภาพแวดล้อมโฮสต์ด้วยตนเองโดยไม่มี OmniLab ATS โปรดดูเรียกใช้ Cuttlefish ในเซิร์ฟเวอร์ในองค์กร