Bu sayfada, Cuttlefish cihazlarda Android çekirdeklerinin nasıl geliştirileceği açıklanmaktadır.
Desteklenen çekirdek manifestleri
Cuttlefish, Android'in en son sürüm dalında ve AOSP GSI sürümlerinde aşağıdaki çekirdek manifestlerini destekler.
android-latest-releasetarihindecommon-android-mainline
android-15.0.0_r36tarihindecommon-android16-6.12common-android15-6.6common-android14-6.1common-android14-5.15
aosp-android13-gsitarihindecommon-android13-5.15common-android13-5.10
aosp-android12-gsitarihindecommon-android12-5.10common-android12-5.4common-android-4.19-stable
aosp-android11-gsitarihindecommon-android11-5.4common-android-4.19-stablecommon-android-4.14-stable
Aşağıda, Cuttlefish cihazlarda çekirdek geliştirme için çekirdek kaynakları verilmiştir.
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 çekirdekleri geliştirme
Cuttlefish cihazlarda çekirdek geliştirmek için aşağıdaki adımları uygulayın:
Cuttlefish cihazınız için uygun çekirdek deposu manifestini klonlayın ve gerekli değişiklikleri yapın.
mkdir common-android-mainlinecd common-android-mainlinerepo init -u https://android.googlesource.com/kernel/manifest -b common-android-mainlinerepo sync -c -j$(nproc) -qÇekirdeği ve ramdisk'i oluşturun. Daha fazla bilgi için Sanal Cihaz için Tedarikçi Modüllerini Oluşturma başlıklı makaleyi inceleyin.
tools/bazel run //common-modules/virtual-device:virtual_device_x86_64_distcommon-android-4.19-stable,common-android-4.14-stableveyacommon-android11-5.4çekirdek manifest'leri kullanılıyorsa şunları çalıştırın:BUILD_CONFIG=common/build.config.gki.x86_64 build/build.sh && BUILD_CONFIG=common-modules/virtual-device/build.config.cuttlefish.x86_64 build/build.shYerel olarak derlemek yerine (çekirdek kaynağını indirmekten ve çekirdek geliştirme ortamı oluşturmaktan kaçınmak için) ilgili yapıları ci.android.com adresinden indirebilirsiniz.
Cuttlefish ile çekirdeği ve ramdisk'i başlatın.
cvd create \ -kernel_path=./out/virtual_device_x86_64/dist/bzImage \ -initramfs_path=./out/virtual_device_x86_64/dist/initramfs.imgGKI olmayan bir çekirdek (4.19 veya önceki sürümler) başlatıyorsanız
-initramfs_pathbağımsız değişkenini çıkarın.Çekirdeği Cuttlefish'in aarch64 sürümünde başlatıyorsanız
aarch64derleme yapılandırmasını vebzImageyerineImageyapısını kullanın.cvd create \ -kernel_path=./out/virtual_device_aarch64/dist/Image \ -initramfs_path=./out/virtual_device_aarch64/dist/initramfs.img