Gunakan Cuttlefish dengan ukuran halaman 16 /> di ARM64

Penyiapan ini memerlukan host Linux ARM64. Halaman ini menunjukkan cara membangun dan memulai Sotong dengan dukungan ukuran halaman 16 KB di ARM64. Instruksi di halaman ini mengasumsikan bahwa paket Cuttlefish diinstal di komputer Anda. Sebagai untuk menginstalnya, lihat Langkah 1 dari Menginstal Cuttlefish.

Anda bisa meluncurkan Cuttlefish dengan mendownload artefak langsung dari Android Continuous Situs integrasi atau build situs dari AOSP jika Anda perlu memodifikasi kode sumbernya.

Luncurkan Cuttlefish dengan mendownload artefak

Buka situs Android Continuous Integration dan masukkan aosp-main-throttled sebagai nama cabang. Klik build terbaru untuk Target aosp_cf_arm64_phone_pgagnostic. Sekarang, ikuti petunjuk dari Langkah 5 dari Instal Cuttlefish.

Meluncurkan Cuttlefish dengan membangun dari AOSP

Bangun dan luncurkan Cuttlefish dengan target agnostik halaman:

$ 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

Memverifikasi ukuran halaman dan booting

Untuk memverifikasi ukuran halaman dan status booting:

  1. Akses shell sebagai root:

    $ adb root
    adbd is already running as root
    $ adb shell
    vsoc_arm64_pgagnostic:/ #
    
  2. Memverifikasi ukuran halaman dan status booting:

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

Gunakan Cuttlefish dengan kernel ukuran halaman 16 KB kustom

Untuk menggunakan kernel kustom, sebagai ganti kernel bawaan:

  1. Buat direktori repo untuk kernel umum Android dan sinkronkan direktorinya:

    $ 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. Bangun kernel ukuran halaman 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. Pastikan build berhasil dieksekusi:

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

Mulai Cuttlefish dengan kernel ukuran halaman 16 KB kustom

Untuk menggunakan kernel yang baru dibuat di 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