Cette page explique comment développer des noyaux Android sur des appareils Cuttlefish.
Fichiers manifestes de noyau compatibles
Settlefish prend en charge les fichiers manifestes de noyau suivants sur GSI principales et AOSP.
- Le
aosp-main
common-android14-6.1
common-android14-5.15
common-android-mainline
- Le
aosp-android13-gsi
common-android13-5.15
common-android13-5.10
- Le
aosp-android12-gsi
common-android12-5.10
common-android12-5.4
common-android-4.19-stable
- Le
aosp-android11-gsi
common-android11-5.4
common-android-4.19-stable
common-android-4.14-stable
Voici les sources de noyau pour le développement de noyau sur les appareils 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
Développer des noyaux Android
Pour développer des noyaux sur des appareils Cuttlefish, procédez comme suit:
Clonez le fichier manifeste du dépôt du noyau approprié pour votre appareil Cuttlefish et n'apportez aucune modification.
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
Créez le noyau et le ramdisk. Pour en savoir plus, consultez Créer les modules fournisseur pour l'appareil virtuel
tools/bazel run //common-modules/virtual-device:virtual_device_x86_64_dist
Si vous utilisez
common-android-4.19-stable
,common-android-4.14-stable
ou Fichiers manifestes du noyaucommon-android11-5.4
, exécutez: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
Au lieu de compiler localement (pour éviter de télécharger la source du noyau, configuration d'un environnement de développement de noyau), vous pouvez télécharger le logiciel des artefacts sur ci.android.com.
Lancez le noyau et ramdisk avec 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 vous lancez un noyau non-GKI (tout élément 4.19), omettez l'argument
-initramfs_path
.Si vous lancez le noyau sur une version aarch64 de Cuttlefish, utilisez le la configuration de compilation
aarch64
et d'utiliser l'artefactImage
au lieu 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