অ্যান্ড্রয়েড কার্নেলগুলি বিকাশ করুন

এই পৃষ্ঠাটি বর্ণনা করে কিভাবে কাটলফিশ ডিভাইসে অ্যান্ড্রয়েড কার্নেল তৈরি করতে হয়।

সমর্থিত কার্নেল প্রকাশ করে

Cuttlefish প্রধান এবং AOSP GSI রিলিজে নিম্নলিখিত কার্নেল প্রকাশ সমর্থন করে।

  • aosp-main
    • common-android-mainline
    • common-android16-6.12
    • common-android15-6.6
    • common-android14-6.1
    • common-android14-5.15
  • 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

Cuttlefish ডিভাইসে কার্নেল বিকাশের জন্য নিম্নলিখিত কার্নেল উত্সগুলি রয়েছে।

অ্যান্ড্রয়েড কার্নেলগুলি বিকাশ করুন

Cuttlefish ডিভাইসে কার্নেল বিকাশ করতে, এই পদক্ষেপগুলি অনুসরণ করুন:

  1. আপনার Cuttlefish ডিভাইসের জন্য উপযুক্ত কার্নেল রেপো ম্যানিফেস্ট ক্লোন করুন এবং কোনো পরিবর্তন করুন।

    mkdir common-android-mainline
    cd common-android-mainline
    repo init -u https://android.googlesource.com/kernel/manifest -b common-android-mainline
    repo sync -c -j$(nproc) -q
    
  2. কার্নেল এবং রামডিস্ক তৈরি করুন। আরও তথ্যের জন্য, ভার্চুয়াল ডিভাইসের জন্য বিক্রেতা মডিউল তৈরি করা দেখুন।

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

    যদি common-android-4.19-stable , common-android-4.14-stable , বা common-android11-5.4 কার্নেল ম্যানিফেস্ট ব্যবহার করে, চালান:

    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
    

    স্থানীয়ভাবে নির্মাণ করার পরিবর্তে (কার্নেল উৎস ডাউনলোড এড়াতে, একটি কার্নেল ডেভেলপমেন্ট এনভায়রনমেন্ট সেট আপ করার জন্য), আপনি ci.android.com এ প্রাসঙ্গিক আর্টিফ্যাক্ট ডাউনলোড করতে পারেন।

  3. কাটলফিশ দিয়ে কার্নেল এবং রামডিস্ক চালু করুন।

    cvd create \
        -kernel_path=./out/virtual_device_x86_64/dist/bzImage \
        -initramfs_path=./out/virtual_device_x86_64/dist/initramfs.img
    

    যদি একটি নন-GKI কার্নেল চালু করা হয় (4.19 এ বা তার নিচের যেকোনো কিছু), -initramfs_path আর্গুমেন্ট বাদ দিন।

    আপনি যদি Cuttlefish-এর aarch64 সংস্করণে কার্নেল চালু করেন, তাহলে aarch64 বিল্ড কনফিগারেশন ব্যবহার করুন এবং bzImage এর পরিবর্তে Image আর্টিফ্যাক্ট ব্যবহার করুন।

    cvd create \
        -kernel_path=./out/virtual_device_aarch64/dist/Image \
        -initramfs_path=./out/virtual_device_aarch64/dist/initramfs.img