ARM64-এ 16 KB পৃষ্ঠার আকার সহ Cuttlefish ব্যবহার করুন

এই সেটআপের জন্য একটি ARM64 লিনাক্স হোস্ট প্রয়োজন। এই পৃষ্ঠায় দেখানো হয়েছে কীভাবে ARM64 এ ১৬ কিলোবাইট পেজ সাইজ সাপোর্ট সহ কাটলফিশ বিল্ড এবং স্টার্ট করতে হয়। এই পৃষ্ঠার নির্দেশাবলী ধরে নেয় যে আপনার মেশিনে কাটলফিশ প্যাকেজগুলি ইনস্টল করা আছে। সেগুলি ইনস্টল করার নির্দেশাবলীর জন্য, "কাটলফিশ ইনস্টল করুন" -এর ধাপ ১ দেখুন।

আপনি সরাসরি অ্যান্ড্রয়েড কন্টিনিউয়াস ইন্টিগ্রেশন সাইট থেকে প্রি-বিল্ট আর্টিফ্যাক্টগুলো ডাউনলোড করে অথবা সোর্স কোড পরিবর্তন করার প্রয়োজন হলে AOSP থেকে বিল্ড করে কাটলফিশ চালু করতে পারেন।

আর্টিফ্যাক্টগুলো ডাউনলোড করে কাটলফিশ চালু করুন।

Android Continuous Integration সাইটে যান এবং ব্রাঞ্চের নাম হিসেবে aosp-main-throttled লিখুন। aosp_cf_arm64_phone_pgagnostic টার্গেটের জন্য সর্বশেষ বিল্ডটিতে ক্লিক করুন। এখন, Install Cuttlefish- এর ধাপ ৫ থেকে নির্দেশাবলী অনুসরণ করুন।

AOSP থেকে তৈরি করে কাটলফিশ চালু করুন

পৃষ্ঠা-নিরপেক্ষ টার্গেট সহ কাটলফিশ তৈরি ও চালু করুন:

$ mkdir android-latest-branch && cd android-latest-branch
$ repo init -u https://android.googlesource.com/platform/manifest -b android-latest-release
$ 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

পৃষ্ঠার আকার এবং বুট যাচাই করুন

পেজের আকার এবং বুট স্ট্যাটাস যাচাই করতে:

  1. রুট হিসেবে শেল অ্যাক্সেস করুন:

    $ adb root
    adbd is already running as root
    $ adb shell
    vsoc_arm64_pgagnostic:/ #
    
  2. পৃষ্ঠার আকার এবং বুট স্ট্যাটাস যাচাই করুন:

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

কাস্টম ১৬ কেবি পেজ সাইজ কার্নেলের সাথে কাটলফিশ ব্যবহার করুন

পূর্ব-নির্মিত কার্নেলের পরিবর্তে কাস্টম কার্নেল ব্যবহার করতে:

  1. অ্যান্ড্রয়েড কমন কার্নেলের জন্য একটি রিপো ডিরেক্টরি তৈরি করুন এবং ডিরেক্টরিটি সিঙ্ক করুন:

    $ 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)
    
  2. ১৬ কেবি পেজ সাইজের কার্নেল তৈরি করুন:

    $ 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
    
  3. বিল্ডটি সফলভাবে সম্পন্ন হয়েছে কিনা তা যাচাই করুন:

    # Generated files
    $ ls out/android14-6.1/dist/Image
    $ ls out/android14-6.1/dist/initramfs.img
    

কাস্টম ১৬ কেবি পেজ সাইজ কার্নেল দিয়ে কাটলফিশ চালু করুন।

কাটলফিশে আপনার নতুন তৈরি কার্নেলটি ব্যবহার করতে:

$ 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