Utilizzare seppia con dimensione pagina di 16 kB su ARM64

Questa configurazione richiede un host Linux ARM64. Questa pagina mostra come creare e gestire avvia Seppia con supporto per dimensione pagina di 16 kB su ARM64. Le istruzioni su in questa pagina si suppone che sulla macchina siano installati pacchetti Cuttlefish. Per istruzioni per l'installazione, fai riferimento al Passaggio 1 della procedura di installazione dei seminari.

Puoi avviare Seppia scaricando la piattaforma predefinita artefatti direttamente dalla del sito di integrazione o creale da AOSP se devi modificare il codice sorgente.

Avvia Cuttlefish scaricando gli artefatti

Vai al sito di integrazione continua di Android e inserisci aosp-main-throttled come nome del ramo. Fai clic sull'ultima build per aosp_cf_arm64_phone_pgagnostic obiettivo. Ora, segui le istruzioni del passaggio 5 di Installa seppia.

Lancia seppia creando da AOSP

Crea e lancia Seppia con un target indipendente dalla pagina:

$ 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

Verifica le dimensioni della pagina e avvio

Per verificare le dimensioni della pagina e lo stato di avvio:

  1. Accedi alla shell come root:

    $ adb root
    adbd is already running as root
    $ adb shell
    vsoc_arm64_pgagnostic:/ #
    
  2. Verifica le dimensioni della pagina e lo stato di avvio:

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

Utilizzare Seppia con un kernel con dimensione pagina personalizzata di 16 kB

Per utilizzare un kernel personalizzato, invece di un kernel predefinito:

  1. Crea una directory repository per un kernel comune Android e sincronizza la directory:

    $ 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. Kernel dimensione pagina della build da 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. Verifica che la build sia stata eseguita correttamente:

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

Avvia seppia con il kernel personalizzato con dimensione pagina di 16 kB

Per utilizzare il kernel appena creato in 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