इस सेटअप के लिए, ARM64
Linux होस्ट की ज़रूरत होती है. इस पेज पर, ARM64
पर 16 केबी पेज साइज़ के साथ Cuttlefish को बनाने और शुरू करने का तरीका बताया गया है. इस पेज पर दिए गए निर्देशों के मुताबिक, आपकी मशीन में Cuttlefish पैकेज इंस्टॉल होने चाहिए. इन्हें इंस्टॉल करने के निर्देशों के लिए, Cuttlefish इंस्टॉल करें का पहला चरण देखें.
Cuttlefish को लॉन्च करने के लिए, सीधे Android Continuous Integration साइट से पहले से बने आर्टफ़ैक्ट डाउनलोड करें. इसके अलावा, अगर आपको सोर्स कोड में बदलाव करना है, तो AOSP से आर्टफ़ैक्ट बनाएं.
आर्टफ़ैक्ट डाउनलोड करके, Cuttlefish को लॉन्च करना
Android के लिए लगातार इंटिग्रेशन की सुविधा देने वाली साइट पर जाएं और शाखा के नाम के तौर पर aosp-main-throttled
डालें. aosp_cf_arm64_phone_pgagnostic
टारगेट के लिए, सबसे नए बिल्ड पर क्लिक करें. अब, कटलफ़िश इंस्टॉल करें के पांचवें चरण में दिए गए
निर्देशों का पालन करें.
AOSP से बिल्ड करके Cuttlefish लॉन्च करना
पेज के हिसाब से टारगेट किए बिना Cuttlefish बनाना और लॉन्च करना:
$ mkdir main && cd main
$ repo init -u https://android.googlesource.com/platform/manifest -b main
$ repo sync -c -j32
# Build cf agnostic target.
$ source build/envsetup.sh
$ lunch aosp_cf_arm64_phone_pgagnostic-trunk_staging-userdebug
$ m
# Launch cf with a kernel with 16 KB page size support.
$ launch_cvd
...
...
VIRTUAL_DEVICE_DISPLAY_POWER_MODE_CHANGED
virtio_input_hid_handle_status: unknown type 20
virtio_input_hid_handle_status: unknown type 20
virtio_input_hid_handle_status: unknown type 20
virtio_input_hid_handle_status: unknown type 20
Generating new secret with slot ID: 4
VIRTUAL_DEVICE_BOOT_STARTED
VIRTUAL_DEVICE_NETWORK_MOBILE_CONNECTED
पेज के साइज़ और बूट की पुष्टि करना
पेज के साइज़ और बूट की स्थिति की पुष्टि करने के लिए:
रूट के तौर पर शेल को ऐक्सेस करने के लिए:
$ adb root adbd is already running as root $ adb shell vsoc_arm64_pgagnostic:/ #
पेज के साइज़ और बूट होने की स्थिति की पुष्टि करें:
vsoc_arm64_pgagnostic:/ # getconf PAGE_SIZE 16384 vsoc_arm64_pgagnostic:/ # getprop | grep sys.boot.completed sys.boot_completed: 1
कस्टम 16 केबी पेज साइज़ वाले कर्नेल के साथ Cuttlefish का इस्तेमाल करना
पहले से बने कर्नेल के बजाय, कस्टम कर्नेल का इस्तेमाल करने के लिए:
Android के सामान्य कर्नेल के लिए एक repo डायरेक्ट्री बनाएं और डायरेक्ट्री को सिंक करें:
$ mkdir common-android14-6.1 && cd common-android14-6.1 $ repo init -u https://android.googlesource.com/kernel/manifest -b common-android14-6.1 $ repo sync -c -j$(nproc)
बिल्ड 16 केबी पेज साइज़ का कर्नेल:
$ tools/bazel run --lto=none //common:kernel_aarch64_16k_dist $ tools/bazel run --lto=none //common-modules/virtual-device:virtual_device_aarch64_16k_dist -- \ --dist_dir=out/android14-6.1/dist
पुष्टि करें कि बिल्ड सही तरीके से पूरा हुआ है:
# Generated files $ ls out/android14-6.1/dist/Image $ ls out/android14-6.1/dist/initramfs.img
पसंद के मुताबिक़ 16 केबी पेज साइज़ वाले कर्नेल के साथ Cuttlefish शुरू करना
Cuttlefish में अपने नए बनाए गए कर्नेल का इस्तेमाल करने के लिए:
$ launch_cvd -kernel_path ~/common-android14-6.1/out/android14-6.1/dist/Image \
-initramfs_path ~/common-android14-6.1/out/android14-6.1/dist/initramfs.img \
--resume=false --userdata_format=ext4 \
--data_policy=always_create --blank_data_image_mb=8000
-userdata_format=ext4