এই পৃষ্ঠায় বর্ণনা করা হয়েছে কীভাবে একটি কাটলফিশ ডিভাইসে অ্যান্ড্রয়েড বুটলোডার ফিচারগুলো বিল্ড, রান এবং ডেভেলপ করতে হয়।
AOSP সূত্র
অ্যান্ড্রয়েড বুটলোডার ফিচার ডেভেলপ করার জন্য, U-boot- এর Cuttlefish কনফিগারেশন ব্যবহার করুন এবং Cuttlefish-এর সর্বশেষ রিলিজ ব্রাঞ্চ ( android17-release ) অথবা অ্যান্ড্রয়েড ১১ বা তার উচ্চতর সংস্করণের জন্য জেনেরিক সিস্টেম ইমেজ (GSI) ব্রাঞ্চগুলো ব্যবহার করুন। AOSP-তে নিম্নলিখিত সোর্সগুলো রয়েছে:
U-boot (
u-boot-mainline) এর কাটলফিশ কনফিগারেশনের জন্য ম্যানিফেস্ট ।
একটি বুটলোডার তৈরি করুন
স্থানীয়ভাবে বুটলোডার ফিচার তৈরি, চালানো এবং উন্নত করতে, এই ধাপগুলো অনুসরণ করুন:
U-boot-এর অ্যান্ড্রয়েড ফর্কের জন্য ম্যানিফেস্টটি ক্লোন করুন:
$ 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আপনার কাটলফিশ আর্কিটেকচারের জন্য উপযুক্ত বুটলোডার টার্গেটটি তৈরি করুন। উদাহরণস্বরূপ:
x86_64
$ tools/bazel run //u-boot:crosvm_x86_64_distaarch64
$ 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এ পাওয়া যায়।বুটলোডার ব্যবহার করে কাটলফিশ ডিভাইসটি চালু করুন। অটোবুট নিষ্ক্রিয় করতে এবং বুটলোডারের সাথে সরাসরি কাজ করার সুযোগ পেতে
pause_in_bootloaderপ্যারামিটারটি অন্তর্ভুক্ত করুন।$ launch_cvd \ -bootloader /$PATH/$TO/u-boot-mainline/out/u-boot-mainline/dist/u-boot.rom \ -pause_in_bootloader -console=trueবুটলোডারের সাথে যোগাযোগ করতে, বুটলোডার কনসোলে সংযোগ করুন।
$ screen ~/cuttlefish_runtime/consoleবুটলোডার সংক্রান্ত কাজ শেষ হলে, কনসোলে
bootটাইপ করে বুট প্রক্রিয়া চালিয়ে যান।
বিভিন্ন কার্নেল দিয়ে বুটলোডার ফ্লো পরীক্ষা করুন
বিভিন্ন কার্নেল বা কার্নেল মডিউল দিয়ে বুটলোডার ফ্লো পরীক্ষা করার জন্য, --kernel_path এবং --initramfs_path আর্গুমেন্ট ব্যবহার করে টার্গেট আর্টিফ্যাক্টগুলো (কার্নেল এবং কার্নেল মডিউল) পাস করুন। অ্যাসেম্বলার আর্গুমেন্টে পাস করা আর্টিফ্যাক্টগুলোর উপর ভিত্তি করে বুট ইমেজগুলো রিপ্যাক করে।
cvd create \
-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আরও তথ্যের জন্য, অ্যান্ড্রয়েড কার্নেল তৈরি করুন দেখুন।