Halaman ini menjelaskan cara membuat perangkat Sotong yang disesuaikan. Cuttlefish menyertakan jenis perangkat yang telah ditentukan sebelumnya dalam berbagai faktor bentuk seperti yang tercantum di AndroidProducts.mk
. Selain opsi penyesuaian perangkat umum yang dijelaskan dalam Menambahkan perangkat baru , Anda dapat membuat penyesuaian khusus Sotong seperti prasetel konfigurasi papan perangkat virtual (vsoc_x88_64, vsoc_arm64, vsoc_riscv64), bawaan kernel, bawaan bootloader, properti vendor, konfigurasi sistem, bersarang dukungan virtualisasi, dan opsi tampilan. Untuk daftar lengkap parameter waktu pembuatan yang dapat disesuaikan, lihat device/google/cuttlefish/vsoc_x86_64/phone/aosp_cf.mk
.
Langkah-langkah berikut menjelaskan cara membuat perangkat big_phone
fiksi x86-64 yang ukurannya sepuluh kali lipat dari perangkat Cuttlefish biasa.
Mewarisi dari target yang ada
Untuk mewarisi dari target yang ada:
- Buat direktori
device/google/cuttlefish/vsoc_x86_64/ big_phone
. - Buat file
aosp_cf.mk
di direktori itu.
$(call inherit-product, device/google/cuttlefish/vsoc_x86_64_phone.mk)
PRODUCT_NAME: big_phone
PRODUCT_DEVICE: vsoc_x86_64
PRODUCT_MANUFACTURER := My Company
PRODUCT_MODEL: My Company very large phone
PRODUCT_VENDOR_PROPERTIES += \
ro.soc.manufacturer=$(PRODUCT_MANUFACTURER) \
ro.soc.model=$(PRODUCT_DEVICE)
Tambahkan target makan siang
Masukkan target lunch
ke dalam file device/google/cuttlefish/AndroidProducts.mk
:
PRODUCT_MAKEFILES := \
...
big_phone:$(LOCAL_DIR)/vsoc_x86_64/big_phone/aosp_cf.mk
...
lunch big_phone
Tentukan konfigurasi JSON
Untuk meluncurkan perangkat Cuttlefish, buat file konfigurasi JSON bernama big_phone .json
dengan struktur hierarki yang mewakili properti perangkat. Misalnya, dalam file konfigurasi JSON, Anda dapat menentukan opsi seperti RAM yang dialokasikan untuk VM dan konfigurasi tampilan. File ini tidak harus berada di pohon AOSP. Untuk detail tentang format JSON untuk konfigurasi, lihat Konfigurasi kanonik .
{
"instances":
[
{
"vm": {
"memory_mb": 40960,
},
"graphics": {
"displays": [
{
"width": 7200,
"height": 12800,
"dpi": 320
}
]
}
}
]
}
Untuk meluncurkan konfigurasi, jalankan:
cvd start --config_file=big_phone.json
Jalankan launch_cvd (warisan)
Properti konfigurasi tertentu tidak tersedia dalam format konfigurasi JSON hierarki. Untuk konfigurasi seperti itu, Anda dapat mengatur nilai default flag launch_cvd
dari kamus JSON tingkat tunggal. Untuk daftar lengkap semua opsi konfigurasi, lihat cf_flags_validator.cpp
.
Berikut ini penjelasan contoh cara mengganti nilai default opsi tanda launch_cvd
menggunakan file konfigurasi JSON dan mengaktifkan peluncur Cuttlefish untuk meluncurkan konfigurasi khusus.
Buat file konfigurasi JSON,
device/google/cuttlefish/shared/config/config_ big_phone .json
, dengan nilai khusus.{ "x_res": 7200, "y_res": 12800, "dpi": 320, "memory_mb": 40960, "ddr_mem_mb": 49150, }
Agar peluncur Sotong dapat meluncurkan konfigurasi
big_phone
, pastikan ia memiliki akses ke filedevice/google/cuttlefish/shared/config/config_ big_phone .json
dengan melakukan hal berikut:Deklarasikan artefak JSON sebagai artefak build dengan menambahkan stanza
prebuilt_etc_host
di filedevice/google/cuttlefish/shared/config/Android.bp
.prebuilt_etc_host { name: "cvd_config_big_phone.json", src: "config_big_phone.json", sub_dir: "cvd_config", }
Tambahkan deklarasi artefak build yang dihasilkan ke peluncur Cuttlefish dengan menjalankan perintah berikut di
device/google/cuttlefish/shared/device.mk
.$(call soong_config_append,cvd,launch_configs,cvd_config_big_phone)
Buat file
android_info.txt
dan ikat konfigurasibig_phone
ke file tersebut dengan menambahkan baris berikut kedevice/google/cuttlefish/vsoc_x86_64/ big_phone /aosp_cf.mk
:TARGET_BOARD_INFO_FILE := device/google/cuttlefish/vsoc_x86_64/<var>big_phone</var>/android-info.txt
Beri label jenis perangkat dengan konfigurasi
big_phone
dengan mengisidevice/google/cuttlefish/vsoc_x86_64/ big_phone /android-info.txt
dengan yang berikut:config=big_phone