Mô phỏng Cuttlefish với kích thước trang 16 KB trên x86_64

Chế độ thiết lập này yêu cầu một máy chủ lưu trữ Linux x86_64. Trang này cho biết cách tạo và khởi động Cuttlefish có hỗ trợ kích thước trang 16 KB trên x86_64. Hướng dẫn trên trang này giả định rằng các gói Cuttlefish đã được cài đặt trong máy của bạn. Để biết hướng dẫn cài đặt, hãy xem Bước 1 trong phần Cài đặt Cuttlefish.

Bạn có thể chạy Cuttlefish bằng cách tải trực tiếp các cấu phần phần mềm được tạo sẵn xuống từ trang web Tích hợp liên tục của Android hoặc tạo các cấu phần phần mềm đó từ AOSP nếu cần sửa đổi mã nguồn.

Triển khai kernel

Tính năng hỗ trợ mô phỏng các trang x86_64 16 KB được thêm vào GKI 6.6 của Android 14 trong chuỗi bản vá page_size_emulation. Việc truyền page_shift=14 trên dòng lệnh sẽ cho phép hoạt động mô phỏng này. x86_64 nhắm đến hậu tố _16k (hoặc mục tiêu cũ có hậu tố _pgagnostic), chẳng hạn như aosp_cf_x86_64_phone_pgagnostic, truyền lựa chọn này theo mặc định và hoạt động ở chế độ 16 KB theo mặc định.

Chạy Cuttlefish 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 mục tiêu aosp_cf_x86_64_only_phone_pgagnostic. Bây giờ, hãy làm theo hướng dẫn ở Bước 5 trong phần Cài đặt Cuttlefish.

Chạy Cuttlefish bằng cách tạo từ AOSP

Tạo và chạy Cuttlefish với mục tiêu không phụ thuộc vào trang:

$ mkdir android-latest-release && cd android-latest-release
$ 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_x86_64_only_phone_pgagnostic-aosp_current-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 với tư cách là người dùng root:

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

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