На этой странице описывается, как разрабатывать ядра Android на устройствах Cuttlefish.
Поддерживаемые манифесты ядра
Cuttlefish поддерживает следующие манифесты ядра в последней ветке релизов Android и релизах AOSP GSI.
-  На android-latest-release-  common-android-mainline
 
-  
-  На android-15.0.0_r36-  common-android16-6.12
-  common-android15-6.6
-  common-android14-6.1
-  common-android14-5.15
 
-  
-  На aosp-android13-gsi-  common-android13-5.15
-  common-android13-5.10
 
-  
-  На aosp-android12-gsi-  common-android12-5.10
-  common-android12-5.4
-  common-android-4.19-stable
 
-  
-  На aosp-android11-gsi-  common-android11-5.4
-  common-android-4.19-stable
-  common-android-4.14-stable
 
-  
Ниже приведены исходные коды ядра для разработки ядра на устройствах Cuttlefish.
-  kernel/common-android-mainline
-  kernel/common-android16-6.12
-  kernel/common-android15-6.6
-  kernel/common-android14-6.1
-  kernel/common-android14-5.15
-  kernel/common-android13-5.15
-  kernel/common-android13-5.10
Разработка ядер Android
Для разработки ядер на устройствах Cuttlefish выполните следующие действия:
- Клонируйте соответствующий манифест репозитория ядра для вашего устройства Cuttlefish и внесите необходимые изменения. - mkdir common-android-mainline- cd common-android-mainline- repo init -u https://android.googlesource.com/kernel/manifest -b common-android-mainline- repo sync -c -j$(nproc) -q
- Соберите ядро и RAM-диск. Подробнее см. в разделе «Сборка модулей поставщика для виртуального устройства» . - tools/bazel run //common-modules/virtual-device:virtual_device_x86_64_dist- Если используются манифесты ядра - common-android-4.19-stable,- common-android-4.14-stableили- common-android11-5.4, выполните:- 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- Вместо локальной сборки (чтобы избежать загрузки исходного кода ядра и настройки среды разработки ядра) вы можете загрузить соответствующие артефакты с сайта ci.android.com. 
- Запустите ядро и ramdisk с помощью Cuttlefish. - cvd create \ -kernel_path=./out/virtual_device_x86_64/dist/bzImage \ -initramfs_path=./out/virtual_device_x86_64/dist/initramfs.img- При запуске ядра, отличного от GKI (версии 4.19 или ниже), не указывайте аргумент - -initramfs_path.- Если вы запускаете ядро на версии Cuttlefish aarch64, используйте конфигурацию сборки - aarch64и используйте артефакт- Imageвместо- bzImage.- cvd create \ -kernel_path=./out/virtual_device_aarch64/dist/Image \ -initramfs_path=./out/virtual_device_aarch64/dist/initramfs.img
