Simulasikan Sotong dengan ukuran halaman 16KB di x86_64

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

Anda dapat meluncurkan Cuttlefish dengan mendownload artefak bawaan langsung dari Android Continuous Integration situs Anda atau membangunnya dari AOSP jika Anda perlu mengubah sumbernya pada kode sumber.

Implementasi kernel

Dukungan untuk mengemulasi halaman x86_64 berukuran 16 KB ditambahkan di Android 14 6.6 GKI di page_size_emulation seri patch. Meneruskan page_shift=14 pada command line akan mengaktifkan emulasi ini. x86_64 target dengan akhiran _16k (atau target lama dengan _pgagnostic akhiran), seperti aosp_cf_x86_64_phone_pgagnostic, meneruskan opsi ini secara default dan bekerja dalam mode 16 KB secara default.

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_x86_64_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_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

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_x86_64_pgagnostic:/ #
    
  2. Memverifikasi ukuran halaman dan status booting:

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