x86_64 पर 16 केबी पेज साइज़ वाली कटलफ़िश को सिम्युलेट करें

इस सेटअप के लिए, x86_64 Linux होस्ट की ज़रूरत होती है. इस पेज पर, x86_64 पर 16 केबी पेज साइज़ के साथ Cuttlefish को बनाने और शुरू करने का तरीका बताया गया है. इस पेज पर दिए गए निर्देशों में यह माना गया है कि आपकी मशीन में कटलफ़िश पैकेज इंस्टॉल हैं. इन्हें इंस्टॉल करने के निर्देशों के लिए, Cuttlefish इंस्टॉल करें का पहला चरण देखें.

Cuttlefish को लॉन्च करने के लिए, सीधे Android Continuous Integration साइट से पहले से बने आर्टफ़ैक्ट डाउनलोड करें. इसके अलावा, अगर आपको सोर्स कोड में बदलाव करना है, तो AOSP से आर्टफ़ैक्ट बनाएं.

Kernel लागू करना

x86_64 16 केबी वाले पेजों को एमुलेट करने की सुविधा, Android 14 6.6 GKI में जोड़ी गई है. यह सुविधा, page_size_emulation पैच सीरीज़ में उपलब्ध है. कमांड-लाइन पर page_shift=14 पास करने से, यह इम्यूलेशन चालू हो जाता है. _16k सफ़िक्स वाले x86_64 टारगेट (या _pgagnostic सफ़िक्स वाले पुराने टारगेट), जैसे कि aosp_cf_x86_64_phone_pgagnostic, डिफ़ॉल्ट रूप से इस विकल्प को पास करते हैं और डिफ़ॉल्ट रूप से 16 केबी मोड में काम करते हैं.

आर्टफ़ैक्ट डाउनलोड करके, Cuttlefish को लॉन्च करना

Android के लिए लगातार इंटिग्रेशन की सुविधा देने वाली साइट पर जाएं और शाखा के नाम के तौर पर aosp-main-throttled डालें. aosp_cf_x86_64_phone_pgagnostic टारगेट के लिए, सबसे नए बिल्ड पर क्लिक करें. अब, 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_x86_64_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

पेज के साइज़ और बूट की पुष्टि करना

पेज के साइज़ और बूट होने की स्थिति की पुष्टि करने के लिए:

  1. रूट के तौर पर शेल को ऐक्सेस करने के लिए:

    $ adb root
    adbd is already running as root
    $ adb shell
    vsoc_x86_64_pgagnostic:/ #
    
  2. पेज के साइज़ और बूट की स्थिति की पुष्टि करें:

    vsoc_x86_64_pgagnostic::/ # getconf PAGE_SIZE
    16384
    vsoc_x86_64_pgagnostic::/ # getprop | grep sys.boot.completed
    sys.boot_completed: 1