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

এই পৃষ্ঠাটি বর্ণনা করে যে কীভাবে একটি কাটলফিশ ডিভাইসে অ্যান্ড্রয়েড বুটলোডার বৈশিষ্ট্যগুলি তৈরি, চালানো এবং বিকাশ করা যায়।

এওএসপি সূত্র

অ্যান্ড্রয়েড বুটলোডার বৈশিষ্ট্যগুলি বিকাশ করতে, অ্যান্ড্রয়েড 11 বা উচ্চতরের জন্য aosp-main বা জেনেরিক সিস্টেম ইমেজ (GSI) শাখায় Cuttlefish-এর সাথে U-boot- এর Cuttlefish কনফিগারেশন ব্যবহার করুন। AOSP-এর সূত্রগুলি নিম্নরূপ:

একটি বুটলোডার বিকাশ করুন

স্থানীয়ভাবে বুটলোডার বৈশিষ্ট্যগুলি তৈরি করতে, চালাতে এবং বিকাশ করতে, এই পদক্ষেপগুলি অনুসরণ করুন:

  1. ইউ-বুটের অ্যান্ড্রয়েড ফর্কের জন্য ম্যানিফেস্ট ক্লোন করুন:

    $ mkdir u-boot-mainline
    $ cd u-boot-mainline
    $ repo init -u https://android.googlesource.com/kernel/manifest -b u-boot-mainline
    $ repo sync -j$(nproc) -q
    
  2. আপনার কাটলফিশ আর্কিটেকচারের জন্য উপযুক্ত বুটলোডার টার্গেট তৈরি করুন। উদাহরণ স্বরূপ:

    • x86_64

      $ tools/bazel run //u-boot:crosvm_x86_64_dist
      
    • aarch64

      $ tools/bazel run //u-boot:crosvm_aarch64_dist
      

    ফলে বুটলোডার বাইনারি ( arm64 এর জন্য u-boot.bin এবং x86_64 এর জন্য u-boot.rom ) $PATH_TO_REPO/out/u-boot-mainline/dist এ পাওয়া যায়।

  3. বুটলোডার দিয়ে কাটলফিশ ডিভাইসটি চালু করুন। অটোবুট নিষ্ক্রিয় করতে pause_in_bootloader প্যারামিটারটি অন্তর্ভুক্ত করুন এবং আপনাকে বুটলোডারের সাথে ইন্টারঅ্যাক্ট করতে দিন।

    $ launch_cvd \
        -bootloader /$PATH/$TO/u-boot-mainline/out/u-boot-mainline/dist/u-boot.rom \
        -pause_in_bootloader -console=true
    
  4. বুটলোডারের সাথে ইন্টারঅ্যাক্ট করতে, বুটলোডার কনসোলের সাথে সংযোগ করুন।

    $ screen ~/cuttlefish_runtime/console
    
  5. বুটলোডার মিথস্ক্রিয়া সম্পন্ন হলে, কনসোলে boot টাইপ করে বুট চালিয়ে যান।

বিভিন্ন কার্নেল দিয়ে বুটলোডার প্রবাহ পরীক্ষা করুন

বিভিন্ন কার্নেল বা কার্নেল মডিউল দিয়ে বুটলোডার ফ্লো পরীক্ষা করতে, --kernel_path এবং --initramfs_path আর্গুমেন্ট ব্যবহার করে টার্গেট আর্টিফ্যাক্ট (কার্নেল এবং কার্নেল মডিউল) পাস করুন। অ্যাসেম্বলার আর্গুমেন্টে পাস করা আর্টিফ্যাক্টগুলির উপর ভিত্তি করে বুট চিত্রগুলিকে পুনরায় প্যাক করে।

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

আরও তথ্যের জন্য, Android কার্নেল বিকাশ দেখুন।