Rozwijaj jądra Androida

Na tej stronie opisano, jak tworzyć jądra Androida na urządzeniach mątwy.

Obsługiwane manifesty jądra

Mątwy obsługują następujące manifesty jądra w wersjach głównych i AOSP GSI.

  • Na aosp-main
    • common-android14-6.1
    • common-android14-5.15
    • common-android-mainline
  • Na aosp-android13-gsi
    • common-android13-5.15
    • common-android13-5.10
  • Na aosp-android12-gsi
    • common-android12-5.10
    • common-android12-5.4
    • common-android-4.19-stable
  • Na aosp-android11-gsi
    • common-android11-5.4
    • common-android-4.19-stable
    • common-android-4.14-stable

Poniżej znajdują się źródła jądra umożliwiające rozwój jądra na urządzeniach mątwy.

Twórz jądra Androida

Aby opracować jądra na urządzeniach mątwy, wykonaj następujące kroki:

  1. Sklonuj odpowiedni manifest repozytorium jądra dla swojego urządzenia mątwy i wprowadź wszelkie zmiany.

    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. Zbuduj jądro i ramdysk. Aby uzyskać więcej informacji, zobacz Tworzenie modułów dostawcy dla urządzenia wirtualnego .

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

    Jeśli używasz manifestów common-android-4.19-stable , common-android-4.14-stable lub common-android11-5.4 , uruchom:

    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
    

    Zamiast budować lokalnie (aby uniknąć pobierania źródła jądra i konfigurowania środowiska programistycznego jądra), możesz pobrać odpowiednie artefakty ze strony ci.android.com.

  3. Uruchom jądro i ramdysk za pomocą Mątwy.

    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
    

    Jeśli uruchamiasz jądro inne niż GKI (cokolwiek w wersji 4.19 lub poniżej), pomiń argument -initramfs_path .

    Jeśli uruchamiasz jądro w wersji mątwy aarch64, użyj konfiguracji kompilacji aarch64 i użyj artefaktu Image zamiast bzImage .

    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