Phát triển hạt nhân Android

Trang này mô tả cách phát triển nhân Android trên thiết bị Mực nang.

Các bảng kê khai hạt nhân được hỗ trợ

Mực nang hỗ trợ các bản kê khai nhân sau đây trên các bản phát hành GSI chính và AOSP.

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

Sau đây là các nguồn kernel để phát triển kernel trên thiết bị Cuttlefish.

Phát triển hạt nhân Android

Để phát triển hạt nhân trên thiết bị Mực nang, hãy làm theo các bước sau:

  1. Sao chép bản kê khai kho kernel thích hợp cho thiết bị Mực nang của bạn và thực hiện bất kỳ thay đổi nào.

    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. Xây dựng kernel và ramdisk. Để biết thêm thông tin, hãy xem Xây dựng mô-đun nhà cung cấp cho thiết bị ảo .

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

    Nếu sử dụng các tệp kê khai common-android-4.19-stable , common-android-4.14-stable hoặc common-android11-5.4 , hãy chạy:

    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
    

    Thay vì xây dựng cục bộ (để tránh tải xuống nguồn kernel, thiết lập môi trường phát triển kernel), bạn có thể tải xuống các tạo phẩm có liên quan tại ci.android.com.

  3. Khởi chạy kernel và ramdisk bằng Cuttlefish.

    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
    

    Nếu khởi chạy kernel không phải GKI (bất kỳ thứ gì bằng hoặc thấp hơn 4.19), hãy bỏ qua đối số -initramfs_path .

    Nếu bạn đang khởi chạy kernel trên phiên bản Cuttlefish aarch64, hãy sử dụng cấu hình bản dựng aarch64 và sử dụng tạo phẩm Image thay vì 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