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 Building the Vendor Modules for the Virtual Device (Sanal Cihaz İç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 manifestlerini kullanıyorsanız şu komutu ç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 derleme yapmak yerine (çekirdek kaynağını indirmekten ve çekirdek geliştirme ortamı oluşturmaktan kaçınmak için) ci.android.com adresinden ilgili yapıları 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 başlatıyorsanız (4.19 veya daha eski bir sürüm)
-initramfs_pathbağımsız değişkenini atlayın.Çekirdeği Cuttlefish'in aarch64 sürümünde başlatıyorsanız
aarch64derleme yapılandırmasını kullanı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