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

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

সমর্থিত কার্নেল ম্যানিফেস্ট

কাটলফিশ অ্যান্ড্রয়েডের সর্বশেষ রিলিজ শাখা এবং AOSP GSI রিলিজগুলিতে নিম্নলিখিত কার্নেল ম্যানিফেস্টগুলিকে সমর্থন করে।

  • android-latest-release
    • common-android-mainline
  • android-15.0.0_r36
    • 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

নিম্নলিখিতগুলি কাটলফিশ ডিভাইসে কার্নেল ডেভেলপমেন্টের জন্য কার্নেল সোর্স।

অ্যান্ড্রয়েড কার্নেল তৈরি করুন

কাটলফিশ ডিভাইসে কার্নেল তৈরি করতে, এই ধাপগুলো অনুসরণ করুন:

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

    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. Cuttlefish দিয়ে কার্নেল এবং র‍্যামডিস্ক চালু করুন।

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

    নন-জিকেআই কার্নেল (৪.১৯ বা তার কম সংস্করণের) চালু করার ক্ষেত্রে, -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