Sepia mit einer Seitengröße von 16 KB auf ARM64 verwenden

Für diese Einrichtung ist ein ARM64-Linux-Host erforderlich. Auf dieser Seite erfahren Sie, wie Sie Starten Sie Sepia mit Unterstützung einer Seitengröße von 16 KB auf ARM64. Die Anweisungen auf gehen wir davon aus, dass Sepia-Pakete auf Ihrem Computer installiert sind. Für Weitere Informationen zur Installation finden Sie unter Schritt 1 des Artikels Cuttlefish installieren.

Sie können Cuttlefish starten, indem Sie entweder die vordefinierte Artefakte direkt aus der Android Continuous Integrationswebsite oder aus AOSP erstellen, wenn Sie Änderungen vornehmen müssen aus dem Quellcode.

Lade die Artefakte herunter, um Sepia zu starten

Rufen Sie die Android-Website für Continuous Integration auf und Geben Sie aosp-main-throttled als Zweignamen ein. Klicken Sie auf den neuesten Build für den aosp_cf_arm64_phone_pgagnostic Ziel. Befolgen Sie nun die Anweisungen aus Schritt 5 von Cuttlefish installieren

Starten Sie Cuttlefish, indem Sie über AOSP erstellen.

Sepien mit einem seitenunabhängigen Ziel erstellen und starten:

$ 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

Seitengröße und Bootvorgang überprüfen

So überprüfen Sie die Seitengröße und den Bootstatus:

  1. Greifen Sie als Root auf die Shell zu:

    $ adb root
    adbd is already running as root
    $ adb shell
    vsoc_arm64_pgagnostic:/ #
    
  2. Prüfen Sie die Seitengröße und den Bootstatus:

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

Sepia mit einem benutzerdefinierten Kernel mit einer Seitengröße von 16 KB verwenden

So verwenden Sie einen benutzerdefinierten Kernel anstelle eines vordefinierten Kernels:

  1. Erstellen Sie ein Repository-Verzeichnis für einen allgemeinen Android-Kernel und synchronisieren Sie das Verzeichnis:

    $ 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. Erstellen Sie einen Kernel für die Seitengröße von 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. Prüfen Sie, ob der Build erfolgreich ausgeführt wurde:

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

Cuttlefish mit dem benutzerdefinierten Kernel mit einer Seitengröße von 16 KB starten

So verwenden Sie Ihren neu erstellten Kernel 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