Für diese Einrichtung ist ein ARM64-Linux-Host erforderlich. Auf dieser Seite wird beschrieben, wie Sie Cuttlefish mit Unterstützung für eine Seitengröße von 16 KB auf ARM64 erstellen und starten. Bei der Anleitung auf dieser Seite wird davon ausgegangen, dass die Cuttlefish-Pakete auf Ihrem Computer installiert sind. Eine Anleitung zur Installation finden Sie unter Schritt 1 von Cuttlefish installieren.
Sie können Cuttlefish starten, indem Sie entweder die vorgefertigten Artefakte direkt von der Android Continuous Integration-Website herunterladen oder sie aus AOSP erstellen, wenn Sie den Quellcode ändern müssen.
Cuttlefish starten, indem Sie die Artefakte herunterladen
Rufen Sie die Android Continuous Integration-Website auf und
geben Sie aosp-main-throttled als Zweignamen ein. Klicken Sie auf den neuesten Build für das Ziel aosp_cf_arm64_phone_pgagnostic. Folgen Sie nun der Anleitung unter Schritt
5 von Cuttlefish installieren.
Cuttlefish starten, indem Sie aus AOSP erstellen
Erstellen und starten Sie Cuttlefish mit einem seitenunabhängigen Ziel:
$ mkdir android-latest-branch && cd android-latest-branch
$ 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_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 Start überprüfen
So überprüfen Sie die Seitengröße und den Startstatus:
Greifen Sie als Root auf die Shell zu:
$ adb root adbd is already running as root $ adb shell vsoc_arm64_pgagnostic:/ #Überprüfen Sie die Seitengröße und den Startstatus:
vsoc_arm64_pgagnostic:/ # getconf PAGE_SIZE 16384 vsoc_arm64_pgagnostic:/ # getprop | grep sys.boot.completed sys.boot_completed: 1
Cuttlefish mit benutzerdefiniertem 16-KB-Kernel verwenden
So verwenden Sie einen benutzerdefinierten Kernel anstelle eines vorgefertigten Kernels:
Erstellen Sie ein Repo-Verzeichnis für einen gemeinsamen 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)Erstellen Sie einen 16-KB-Kernel:
$ 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/distPrü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 16-KB-Kernel 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