Questa pagina descrive come sviluppare kernel Android sui dispositivi Cuttlefish.
Manifest del kernel supportati
Cuttlefish supporta i seguenti manifest del kernel nei rami della release più recente di Android e nelle release GSI AOSP.
- Il giorno
android-latest-releasecommon-android-mainline
- Il giorno
android-15.0.0_r36common-android16-6.12common-android15-6.6common-android14-6.1common-android14-5.15
- Il giorno
aosp-android13-gsicommon-android13-5.15common-android13-5.10
- Il giorno
aosp-android12-gsicommon-android12-5.10common-android12-5.4common-android-4.19-stable
- Il giorno
aosp-android11-gsicommon-android11-5.4common-android-4.19-stablecommon-android-4.14-stable
Di seguito sono riportate le origini del kernel per lo sviluppo del kernel sui dispositivi Cuttlefish.
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
Sviluppare kernel Android
Per sviluppare kernel sui dispositivi Cuttlefish:
Clona il manifest del repository del kernel appropriato per il tuo dispositivo Cuttlefish e apporta le modifiche.
mkdir common-android-mainlinecd common-android-mainlinerepo init -u https://android.googlesource.com/kernel/manifest -b common-android-mainlinerepo sync -c -j$(nproc) -qCrea il kernel e il ramdisk. Per maggiori informazioni, consulta la sezione Creazione dei moduli del fornitore per il dispositivo virtuale.
tools/bazel run //common-modules/virtual-device:virtual_device_x86_64_distSe utilizzi i manifest del kernel
common-android-4.19-stable,common-android-4.14-stableocommon-android11-5.4, esegui:BUILD_CONFIG=common/build.config.gki.x86_64 build/build.sh && BUILD_CONFIG=common-modules/virtual-device/build.config.cuttlefish.x86_64 build/build.shAnziché eseguire la build localmente (per evitare di scaricare l'origine del kernel e configurare un ambiente di sviluppo del kernel), puoi scaricare gli artefatti pertinenti da ci.android.com.
Avvia il kernel e il ramdisk con Cuttlefish.
cvd create \ -kernel_path=./out/virtual_device_x86_64/dist/bzImage \ -initramfs_path=./out/virtual_device_x86_64/dist/initramfs.imgSe avvii un kernel non GKI (qualsiasi versione 4.19 o precedente), ometti l'argomento
-initramfs_path.Se avvii il kernel su una versione aarch64 di Cuttlefish, utilizza la configurazione della build
aarch64e l'artefattoImageanzichébzImage.cvd create \ -kernel_path=./out/virtual_device_aarch64/dist/Image \ -initramfs_path=./out/virtual_device_aarch64/dist/initramfs.img