Auf dieser Seite wird gezeigt, wie man Cuttlefish mit Unterstützung für eine Seitengröße von 16 KB auf ARM64
erstellt und startet. Bei den Anweisungen auf dieser Seite wird davon ausgegangen, dass Cuttlefish auf Ihrem Computer installiert ist. Anweisungen zur Installation finden Sie unter „Installieren von Cuttlefish“ .
Seitenunabhängiges Ziel synchronisieren und erstellen
Erstellen und starten Sie Cuttlefish mit einem seitenunabhängigen Ziel:
$ 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-userdebug
$ m
# Launch cf with a kernel with 16KB 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
Überprüfen Sie die Seitengröße und den Start
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
Verwenden Sie Cuttlefish mit einem benutzerdefinierten Kernel mit einer Seitengröße von 16 KB
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 Kernel mit einer 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
Stellen Sie sicher, dass der Build erfolgreich ausgeführt wurde:
# Generated files $ ls out/android14-6.1/dist/Image $ ls out/android14-6.1/dist/initramfs.img
Starten Sie Cuttlefish mit dem benutzerdefinierten Kernel mit einer Seitengröße von 16 KB
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