এই পৃষ্ঠাটি বর্ণনা করে কিভাবে একটি কাস্টমাইজড কাটলফিশ ডিভাইস তৈরি করতে হয়। Cuttlefish এ AndroidProducts.mk
এ তালিকাভুক্ত বিভিন্ন ফর্ম ফ্যাক্টরের পূর্বনির্ধারিত ডিভাইসের ধরন অন্তর্ভুক্ত করে। একটি নতুন ডিভাইস যোগ করার ক্ষেত্রে বর্ণিত সাধারণ ডিভাইস কাস্টমাইজেশন বিকল্পগুলি ছাড়াও, আপনি ভার্চুয়াল ডিভাইস বোর্ড কনফিগারেশন প্রিসেট (vsoc_x88_64, vsoc_arm64, vsoc_riscv64), কার্নেল প্রিবিল্ট, বুটলোডার প্রিবিল্ট, সিস্টেম প্রপার্টি, কনফিগারেশন প্রিসেটগুলির মতো কাটলফিশ-নির্দিষ্ট কাস্টমাইজেশন করতে পারেন। ভার্চুয়ালাইজেশন সমর্থন, এবং প্রদর্শন বিকল্প কাস্টমাইজ করা যেতে পারে এমন বিল্ড টাইম প্যারামিটারের সম্পূর্ণ তালিকার জন্য, device/google/cuttlefish/vsoc_x86_64/phone/aosp_cf.mk
দেখুন।
নিম্নলিখিত ধাপগুলি বর্ণনা করে কিভাবে একটি কাল্পনিক x86-64 big_phone
ডিভাইস একটি সাধারণ কাটলফিশ ডিভাইসের দশগুণ আকারের তৈরি করা যায়।
একটি বিদ্যমান লক্ষ্য থেকে উত্তরাধিকারী
একটি বিদ্যমান লক্ষ্য থেকে উত্তরাধিকারী হতে:
- একটি
device/google/cuttlefish/vsoc_x86_64/ big_phone
ডিরেক্টরি তৈরি করুন। - সেই ডিরেক্টরিতে একটি
aosp_cf.mk
ফাইল তৈরি করুন।
$(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)
একটি লাঞ্চ লক্ষ্য যোগ করুন
device/google/cuttlefish/AndroidProducts.mk
ফাইলে lunch
লক্ষ্য ঢোকান:
PRODUCT_MAKEFILES := \
...
big_phone:$(LOCAL_DIR)/vsoc_x86_64/big_phone/aosp_cf.mk
...
lunch big_phone
JSON কনফিগারেশন সংজ্ঞায়িত করুন
Cuttlefish ডিভাইসটি চালু করতে, একটি JSON কনফিগারেশন ফাইল তৈরি করুন যার নাম big_phone .json
একটি শ্রেণীবদ্ধ কাঠামো যা ডিভাইসের বৈশিষ্ট্যগুলিকে উপস্থাপন করে। উদাহরণস্বরূপ, JSON কনফিগারেশন ফাইলে, আপনি VM-এর জন্য বরাদ্দ করা RAM এবং প্রদর্শন কনফিগারেশনের মতো বিকল্পগুলি নির্দিষ্ট করতে পারেন। এই ফাইলটি AOSP গাছে থাকতে হবে না। কনফিগারেশনের জন্য JSON ফর্ম্যাটের বিশদ বিবরণের জন্য, ক্যানোনিকাল কনফিগারেশন দেখুন।
{
"instances":
[
{
"vm": {
"memory_mb": 40960,
},
"graphics": {
"displays": [
{
"width": 7200,
"height": 12800,
"dpi": 320
}
]
}
}
]
}
কনফিগারেশন চালু করতে, চালান:
cvd create --config_file=big_phone.json
লঞ্চ_সিভিডি চালান (উত্তরাধিকার)
নির্দিষ্ট কনফিগারেশন বৈশিষ্ট্য অনুক্রমিক JSON কনফিগারেশন বিন্যাসে উপলব্ধ নয়। এই ধরনের কনফিগারেশনের জন্য, আপনি একটি একক-স্তরের JSON অভিধান থেকে launch_cvd
পতাকা ডিফল্ট মান সেট করতে পারেন। সমস্ত কনফিগারেশন বিকল্পের সম্পূর্ণ তালিকার জন্য, cf_flags_validator.cpp
দেখুন।
JSON কনফিগারেশন ফাইল ব্যবহার করে launch_cvd
পতাকা বিকল্পগুলির ডিফল্ট মানগুলিকে কীভাবে ওভাররাইড করতে হয় এবং কাস্টম কনফিগারেশন চালু করতে কাটলফিশ লঞ্চারকে সক্রিয় করতে হয় তার একটি উদাহরণ নিম্নলিখিতটি বর্ণনা করে।
একটি JSON কনফিগারেশন ফাইল তৈরি করুন,
device/google/cuttlefish/shared/config/config_ big_phone .json
, কাস্টম মান সহ।{ "x_res": 7200, "y_res": 12800, "dpi": 320, "memory_mb": 40960, "ddr_mem_mb": 49150, }
কটলফিশ লঞ্চারের জন্য
big_phone
কনফিগারেশন চালু করার জন্য, নিশ্চিত করুন যে এটিরdevice/google/cuttlefish/shared/config/config_ big_phone .json
ফাইলে অ্যাক্সেস রয়েছে:device/google/cuttlefish/shared/config/Android.bp
ফাইলেprebuilt_etc_host
স্তবক যোগ করে JSON আর্টিফ্যাক্টটিকে বিল্ড আর্টিফ্যাক্ট হিসেবে ঘোষণা করুন।prebuilt_etc_host { name: "cvd_config_big_phone.json", src: "config_big_phone.json", sub_dir: "cvd_config", }
device/google/cuttlefish/shared/device.mk
এ নিম্নলিখিতটি চালিয়ে কাটলফিশ লঞ্চারে ফলস্বরূপ বিল্ড আর্টিফ্যাক্ট ঘোষণা যোগ করুন।$(call soong_config_append,cvd,launch_configs,cvd_config_big_phone)
একটি
android_info.txt
ফাইল তৈরি করুন এবংdevice/google/cuttlefish/vsoc_x86_64/ big_phone /aosp_cf.mk
এ নিম্নলিখিত লাইনটি যোগ করে ফাইলের সাথেbig_phone
কনফিগার করুন:TARGET_BOARD_INFO_FILE := device/google/cuttlefish/vsoc_x86_64/<var>big_phone</var>/android-info.txt
নিম্নলিখিতগুলির সাথে
device/google/cuttlefish/vsoc_x86_64/ big_phone /android-info.txt
পপুলেট করেbig_phone
কনফিগারেশনের সাথে ডিভাইসের ধরনটিকে লেবেল করুন:config=big_phone