Sử dụng mực nang có kích thước trang 16 KB trên ARM64

Chế độ thiết lập này cần có một máy chủ Linux ARM64. Trang này trình bày cách tạo và bắt đầu Mực ống với hỗ trợ kích thước trang 16 KB trên ARM64. Hướng dẫn về trang này giả định rằng các gói Mực ống đã được cài đặt trong máy của bạn. Cho để biết hướng dẫn cài đặt, hãy xem Bước 1 của bài viết Cài đặt mực ống.

Bạn có thể khởi chạy Mực ống bằng cách tải xuống thư viện tạo sẵn cấu phần phần mềm trực tiếp qua ứng dụng Liên tục Android Trang web tích hợp hoặc tạo trang web từ AOSP nếu bạn cần sửa đổi mã nguồn.

Khởi chạy Mực nang bằng cách tải cấu phần phần mềm xuống

Chuyển đến trang web Tích hợp liên tục của Android rồi nhập aosp-main-throttled làm tên nhánh. Nhấp vào bản dựng mới nhất cho aosp_cf_arm64_phone_pgagnostic mục tiêu. Bây giờ, hãy làm theo các hướng dẫn từ Bước 5 trên Cài đặt mực ống.

Chạy Cuttlefish bằng cách tạo bản dựng từ AOSP (Dự án nguồn mở Android)

Tạo và khởi chạy Mực ống với mục tiêu không phân biệt trang:

$ 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

Xác minh kích thước trang và quá trình khởi động

Cách xác minh kích thước trang và trạng thái khởi động:

  1. Truy cập vào shell dưới dạng thư mục gốc:

    $ adb root
    adbd is already running as root
    $ adb shell
    vsoc_arm64_pgagnostic:/ #
    
  2. Xác minh kích thước trang và trạng thái khởi động:

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

Sử dụng mực nang với nhân kích thước trang tuỳ chỉnh là 16 KB

Cách sử dụng hạt nhân tuỳ chỉnh, thay vì hạt nhân tạo sẵn:

  1. Tạo thư mục repo cho nhân hệ điều hành phổ biến của Android rồi đồng bộ hoá thư mục đó:

    $ 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. Xây dựng nhân kích thước trang 16 KB:

    $ 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. Xác minh rằng bản dựng được thực thi thành công:

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

Khởi động mực nang với nhân kích thước trang tuỳ chỉnh 16 KB

Cách sử dụng nhân hệ điều hành mới tạo trong 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