GKI 1.0: সামঞ্জস্য পরীক্ষা

সামঞ্জস্য পরীক্ষার জন্য কার্নেল বিল্ড আর্টিফ্যাক্ট সহ বুট ইমেজ কিভাবে প্রাপ্ত করা যায় তা এই পৃষ্ঠায় বর্ণনা করা হয়েছে।

বুট ইমেজ প্রাপ্ত

AOSP-এ, আপনি ci.android.com থেকে প্রি-বিল্ট বুট ইমেজ পেতে পারেন। বুট ইমেজগুলি aosp_arm64-img-*.zip আর্কাইভের মধ্যে aosp_arm64 বিল্ড টার্গেটে রয়েছে, নিম্নরূপ:

অংশীদাররা স্বাক্ষরবিহীন বা স্বাক্ষরিত বুট ছবি পেতে পারেন, নিম্নরূপ:

  • ci.android.com-aosp-main শাখা থেকে android12-5.4 উপর ভিত্তি করে স্বাক্ষরবিহীন বুট চিত্রগুলি পান ( aosp_arm64 বিল্ড টার্গেটে দেখুন)। এই বুট চিত্রগুলিতে AOSP main শাখা থেকে নির্মিত একটি রামডিস্ক রয়েছে। boot-debug ইমেজ ব্যবহার করবেন না; এগুলি শুধুমাত্র প্রাক-GKI ডিভাইসের জন্য।
  • partner.android.com থেকে android11-5.4 উপর ভিত্তি করে স্বাক্ষরিত বুট ছবিগুলি পান৷ এই বুট চিত্রগুলিতে r-fs-release শাখা থেকে নির্মিত একটি রামডিস্ক রয়েছে। boot.img সাইনিং GSI সাইনিংয়ের মতো একই প্রক্রিয়া অনুসরণ করে।

স্বাক্ষরিত এবং স্বাক্ষরবিহীন উভয় বুট ইমেজ নিম্নলিখিত কার্নেল কম্প্রেশন বিকল্পগুলিতে আসে:

  • boot-5.4.img হল একটি অসংকুচিত কার্নেল।
  • boot-5.4-gz হল একটি gzip সংকুচিত কার্নেল।
  • boot-5.4-lz4 হল একটি lz4 সংকুচিত কার্নেল।
সামঞ্জস্য পরীক্ষার জন্য, কার্নেল সহ বুট চিত্রগুলি ব্যবহার করুন যা শুধুমাত্র KMI প্রতীক তালিকায় প্রদর্শিত চিহ্নগুলি রপ্তানি করে (প্রতীকগুলি trimmed হয়)।

উন্নয়নের উদ্দেশ্যে, আপনি কার্নেল প্রিবিল্ট এবং GKI বুট ইমেজ ব্যবহার করতে পারেন যা কার্নেলের সমস্ত চিহ্ন রপ্তানি করে (প্রতীকগুলি untrimmed হয় না)। ci.android.com- এ একটি নির্দিষ্ট কার্নেল বিল্ডের জন্য kernel_debug_aarch64 টার্গেটে আনট্রিমড কার্নেল প্রিবিল্ট তৈরি করা হয়। আনট্রিমড GKI বুট ইমেজ ইউজারডিবাগ বিল্ডে তৈরি করা হয় সাধারণ ট্রিম করা GKI বুট ইমেজগুলির সাথে এবং ফাইলের নাম থাকে যা -allsyms.img দিয়ে শেষ হয়।

কার্নেল বিল্ড আর্টিফ্যাক্ট প্রাপ্ত

একটি GKI boot.img ফাইলে সমস্যা ডিবাগ করার সময়, সেই ফাইলে কার্নেলের সাথে যুক্ত বিল্ড আর্টিফ্যাক্টগুলি থাকাও দরকারী। উদাহরণস্বরূপ, আপনি ডিবাগিংয়ের জন্য আনস্ট্রিপড vmlinux এবং GKI কার্নেল বিল্ড স্থানীয়ভাবে পুনরুত্পাদনের জন্য ম্যানিফেস্ট ব্যবহার করতে পারেন। নির্মাণ শিল্পকর্ম পেতে:

  1. GKI boot.img তৈরি করতে ব্যবহৃত কার্নেলের পূর্বনির্মাণের জন্য বিল্ড নম্বরটি সনাক্ত করুন। বিল্ড নম্বর কার্নেল সংস্করণের শেষে প্রদর্শিত হয়, এর আগে ab অক্ষর থাকে। নিম্নলিখিত উদাহরণটি বোল্ডে বিল্ড নম্বর দেখায়:

    [ 0.000000] Linux version 5.4.49-00947-g9d21bcd4897b-ab 6638796

    আপনি একটি আনকমপ্রেসড কার্নেল ধারণকারী একটি বুট ইমেজ খুঁজে পেতে grep ব্যবহার করে কার্নেলের বিল্ড নম্বর নির্ধারণ করতে পারেন:

    grep -a "Linux version " boot-5.4.img
  2. নিম্নলিখিত URL-এ বিল্ড নম্বর ব্যবহার করে কার্নেল প্রিবিল্ট বিল্ড খুলুন: https://ci.android.com/builds/submitted/ <number> /kernel_aarch64/latest

    উদাহরণস্বরূপ, ধাপ 1 থেকে বিল্ড নম্বর ব্যবহার করে, URLটি নিম্নরূপ: https://ci.android.com/builds/submitted/ 6638796 /kernel_aarch64/latest

    একটি আনট্রিমড বিল্ড ব্যবহার করার সময়, লিঙ্কে kernel_aarch64 kernel_debug_aarch64 দিয়ে প্রতিস্থাপন করুন।