Esta página describe cómo desarrollar kernels de Android en dispositivos Cuttlefish.
Manifiestos del kernel soportados
Cuttlefish admite los siguientes manifiestos del kernel en las versiones principales y AOSP GSI.
- En
aosp-main
-
common-android14-6.1
-
common-android14-5.15
-
common-android-mainline
-
- En
aosp-android13-gsi
-
common-android13-5.15
-
common-android13-5.10
-
- En
aosp-android12-gsi
-
common-android12-5.10
-
common-android12-5.4
-
common-android-4.19-stable
-
- En
aosp-android11-gsi
-
common-android11-5.4
-
common-android-4.19-stable
-
common-android-4.14-stable
-
Las siguientes son fuentes de kernel para el desarrollo de kernel en dispositivos Cuttlefish.
-
kernel/common-android14-6.1
-
kernel/common-android14-5.15
-
kernel/common-android13-5.15
-
kernel/common-android13-5.10
-
kernel/common-android-mainline
Desarrollar núcleos de Android
Para desarrollar kernels en dispositivos Cuttlefish, siga estos pasos:
Clone el manifiesto del repositorio del kernel apropiado para su dispositivo Cuttlefish y realice los cambios.
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) -q
Construya el kernel y el disco ram. Para obtener más información, consulte Creación de módulos de proveedor para el dispositivo virtual .
tools/bazel run //common-modules/virtual-device:virtual_device_x86_64_dist
Si utiliza manifiestos
common-android-4.19-stable
,common-android-4.14-stable
ocommon-android11-5.4
, ejecute:BUILD_CONFIG=common/build.config.gki.x86_64 build/build.sh && BUILD_CONFIG=common-modules/virtual-device/build.config.cuttlefish.x86_64 build/build.sh
En lugar de compilar localmente (para evitar descargar la fuente del kernel y configurar un entorno de desarrollo del kernel), puede descargar los artefactos relevantes en ci.android.com.
Inicie el núcleo y el disco ram con Cuttlefish.
cvd start \ -kernel_path=/$PATH/$TO/common-android14-6.1/out/android14-6.1/dist/bzImage \ -initramfs_path=/$PATH/$TO/common-android14-6.1/out/android14-6.1/dist/initramfs.img
Si inicia un kernel que no es GKI (cualquier versión igual o inferior a 4.19), omita el argumento
-initramfs_path
.Si está iniciando el kernel en una versión aarch64 de Cuttlefish, use la configuración de compilación
aarch64
y use el artefactoImage
en lugar debzImage
.cvd start \ -kernel_path=/$PATH/$TO/common-android14-6.1/out/android14-5.15/dist/Image \ -initramfs_path=/$PATH/$TO/common-android14-6.1/out/android14-5.15/dist/initramfs.img