Für diese Einrichtung ist ein ARM64
-Linux-Host erforderlich. Auf dieser Seite wird beschrieben, wie Sie Cuttlefish mit Unterstützung einer Seitengröße von 16 KB unter ARM64
erstellen und starten. Bei den Anweisungen auf dieser Seite wird davon ausgegangen, dass Cuttlefish-Pakete auf Ihrem Computer installiert sind. Eine Anleitung zur Installation finden Sie unter Schritt 1 der Anleitung Cuttlefish installieren.
Sie können Cuttlefish starten, indem Sie entweder die vorgefertigten Artefakte direkt von der Website für die kontinuierliche Android-Integration herunterladen oder sie aus AOSP erstellen, wenn Sie den Quellcode ändern müssen.
Lade die Artefakte herunter, um Sepia zu starten
Rufen Sie die Website für die kontinuierliche Integration von Android auf und geben Sie aosp-main-throttled
als Branch-Namen ein. Klicken Sie für das Ziel aosp_cf_arm64_phone_pgagnostic
auf den neuesten Build. Folgen Sie nun der Anleitung ab Schritt 5 unter Cuttlefish installieren.
Cuttlefish starten, indem Sie es aus 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 Boot prüfen
So überprüfen Sie die Seitengröße und den Bootstatus:
Greifen Sie als Root auf die Shell zu:
$ adb root adbd is already running as root $ adb shell vsoc_arm64_pgagnostic:/ #
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
Cuttlefish mit benutzerdefiniertem Kernel mit 16 KB-Seitengröße verwenden
So verwenden Sie einen benutzerdefinierten Kernel anstelle eines vorkonfigurierten Kernels:
Erstellen Sie ein Repository-Verzeichnis für einen Android Common 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)
Kernel mit 16 KB Seitengröße erstellen:
$ 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
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 den 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