Android çekirdeği geliştirin

Bu sayfada Mürekkepbalığı cihazlarında Android çekirdeklerinin nasıl geliştirileceği açıklanmaktadır.

Desteklenen çekirdek bildirimleri

Cuttlefish, ana ve AOSP GSI sürümlerinde aşağıdaki çekirdek bildirimlerini destekler.

  • aosp-main üzerinde
    • common-android14-6.1
    • common-android14-5.15
    • common-android-mainline
  • 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

Aşağıdakiler Mürekkepbalığı cihazlarında çekirdek geliştirmeye yönelik çekirdek kaynaklarıdır.

Android çekirdeklerini geliştirin

Mürekkepbalığı cihazlarında çekirdek geliştirmek için şu adımları izleyin:

  1. Mürekkepbalığı cihazınız için uygun çekirdek repo bildirimini kopyalayın ve gerekli değişiklikleri yapın.

    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
    
  2. Çekirdeği ve ramdiski oluşturun. Daha fazla bilgi için bkz. Sanal Cihaz için Satıcı Modüllerini Oluşturma .

    tools/bazel run //common-modules/virtual-device:virtual_device_x86_64_dist
    

    common-android-4.19-stable , common-android-4.14-stable veya common-android11-5.4 çekirdek bildirimlerini kullanıyorsanız şunu ç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.sh
    

    Yerel olarak derlemek yerine (çekirdek kaynağını indirmekten kaçınmak, bir çekirdek geliştirme ortamı oluşturmak için), ilgili yapıları ci.android.com adresinden indirebilirsiniz.

  3. Cuttlefish ile çekirdeği ve ramdisk'i başlatın.

    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
    

    GKI olmayan bir çekirdek (4.19 veya altı) başlatıyorsanız -initramfs_path bağımsız değişkenini atlayın.

    Çekirdeği Cuttlefish'in aarch64 sürümünde başlatıyorsanız, aarch64 yapı yapılandırmasını kullanın ve bzImage yerine Image yapıtını kullanın.

    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