Auf dieser Seite wird beschrieben, wie Sie Android-Kernel auf Cuttlefish-Geräten entwickeln.
Unterstützte Kernelmanifeste
Cuttlefish unterstützt die folgenden Kernelmanifeste im aktuellen Release-Branch von Android und in AOSP-GSI-Releases.
- Am
android-latest-releasecommon-android-mainline
- Am
android-15.0.0_r36common-android16-6.12common-android15-6.6common-android14-6.1common-android14-5.15
- Am
aosp-android13-gsicommon-android13-5.15common-android13-5.10
- Am
aosp-android12-gsicommon-android12-5.10common-android12-5.4common-android-4.19-stable
- Am
aosp-android11-gsicommon-android11-5.4common-android-4.19-stablecommon-android-4.14-stable
Im Folgenden finden Sie Kernel-Quellen für die Kernel-Entwicklung auf Cuttlefish-Geräten.
kernel/common-android-mainlinekernel/common-android16-6.12kernel/common-android15-6.6kernel/common-android14-6.1kernel/common-android14-5.15kernel/common-android13-5.15kernel/common-android13-5.10
Android-Kernel entwickeln
So entwickeln Sie Kernel auf Cuttlefish-Geräten:
Klonen Sie das entsprechende Kernel-Repo-Manifest für Ihr Cuttlefish-Gerät und nehmen Sie alle erforderlichen Änderungen vor.
mkdir common-android-mainlinecd common-android-mainlinerepo init -u https://android.googlesource.com/kernel/manifest -b common-android-mainlinerepo sync -c -j$(nproc) -qErstellen Sie den Kernel und die Ramdisk. Weitere Informationen finden Sie unter Anbietermodule für das virtuelle Gerät erstellen.
tools/bazel run //common-modules/virtual-device:virtual_device_x86_64_distWenn Sie die Kernelmanifeste
common-android-4.19-stable,common-android-4.14-stableodercommon-android11-5.4verwenden, führen Sie Folgendes aus:BUILD_CONFIG=common/build.config.gki.x86_64 build/build.sh && BUILD_CONFIG=common-modules/virtual-device/build.config.cuttlefish.x86_64 build/build.shAnstatt lokal zu erstellen (um das Herunterladen des Kernel-Quellcodes und das Einrichten einer Kernel-Entwicklungsumgebung zu vermeiden), können Sie die relevanten Artefakte unter ci.android.com herunterladen.
Starten Sie den Kernel und die Ramdisk mit Cuttlefish.
cvd create \ -kernel_path=./out/virtual_device_x86_64/dist/bzImage \ -initramfs_path=./out/virtual_device_x86_64/dist/initramfs.imgWenn Sie einen Nicht-GKI-Kernel (alles unter 4.19) starten, lassen Sie das
-initramfs_path-Argument weg.Wenn Sie den Kernel auf einer AArch64-Version von Cuttlefish starten, verwenden Sie die Build-Konfiguration
aarch64und das ArtefaktImageanstelle vonbzImage.cvd create \ -kernel_path=./out/virtual_device_aarch64/dist/Image \ -initramfs_path=./out/virtual_device_aarch64/dist/initramfs.img