কার্নেল ওভারভিউ

অ্যান্ড্রয়েড কার্নেলটি একটি আপস্ট্রিম লিনাক্স লং টার্ম সাপোর্টেড (LTS) কার্নেলের উপর ভিত্তি করে তৈরি। গুগলে, LTS কার্নেলগুলোকে অ্যান্ড্রয়েড-নির্দিষ্ট প্যাচের সাথে একত্রিত করে অ্যান্ড্রয়েড কমন কার্নেল (ACK) গঠন করা হয়।

ACK-গুলো kernel/common রিপোজিটরি থেকে তৈরি করা হয়। এই রিপোজিটরিটি হলো আপস্ট্রিম লিনাক্স কার্নেলের একটি সুপারসেট, যাতে অ্যান্ড্রয়েডের জন্য অতিরিক্ত প্যাচ যুক্ত করা হয়েছে।

5.10 এবং তার উচ্চতর সংস্করণের ACK-গুলো জেনেরিক কার্নেল ইমেজ (GKI) কার্নেল নামেও পরিচিত। GKI কার্নেলগুলো হার্ডওয়্যার-নিরপেক্ষ জেনেরিক কোর কার্নেল কোড এবং GKI মডিউলগুলোকে হার্ডওয়্যার-নির্দিষ্ট ভেন্ডর মডিউল থেকে পৃথক করতে সহায়তা করে।

GKI কার্নেল এবং ভেন্ডর মডিউলগুলির মধ্যে মিথস্ক্রিয়া সক্ষম করা হয় কার্নেল মডিউল ইন্টারফেস (KMI) দ্বারা, যা ভেন্ডর মডিউলগুলির জন্য প্রয়োজনীয় ফাংশন এবং গ্লোবাল ডেটা শনাক্তকারী সিম্বল লিস্ট নিয়ে গঠিত। চিত্র ১-এ GKI কার্নেল এবং ভেন্ডর মডিউলের স্থাপত্য দেখানো হয়েছে:

জিকেআই কার্নেল এবং ভেন্ডর মডিউল আর্কিটেকচার।

চিত্র ১. জিকেআই কার্নেল ও ভেন্ডর মডিউলের স্থাপত্য।

কার্নেল শব্দকোষ

কার্নেল ডকুমেন্টেশনে নিম্নলিখিত পরিভাষাগুলো ব্যবহৃত হয়।

কার্নেলের প্রকারভেদ

অ্যান্ড্রয়েড কমন কার্নেল (ACK)
একটি কার্নেল যা একটি LTS কার্নেলের পরবর্তী ধাপ এবং এতে অ্যান্ড্রয়েড কমিউনিটির জন্য গুরুত্বপূর্ণ প্যাচ অন্তর্ভুক্ত রয়েছে। এই প্যাচগুলি লিনাক্স মেইনলাইন বা লং টার্ম GKI কার্নেলে একীভূত করা হয়নি।

৫.১০ এবং তার উচ্চতর সংস্করণের কার্নেলগুলোকে জেনেরিক কার্নেল ইমেজ (GKI) কার্নেল হিসেবেও উল্লেখ করা হয়।

অ্যান্ড্রয়েড ওপেন সোর্স প্রজেক্ট (AOSP) কার্নেল
অ্যান্ড্রয়েড কমন কার্নেল দেখুন।

অ্যান্ড্রয়েড ১২-এর ফিচারগুলো ৪.১৯ কার্নেলে ব্যাকপোর্ট করা যাবে না; এর ফিচার সেটটি এমন একটি ডিভাইসের মতো হবে, যেটি অ্যান্ড্রয়েড ১১-এ ৪.১৯ সহ লঞ্চ হয়েছিল এবং পরে অ্যান্ড্রয়েড ১২-এ আপগ্রেড করা হয়েছে।

জেনেরিক কার্নেল ইমেজ (GKI) কার্নেল

যেকোনো 5.10 এবং উচ্চতর ACK কার্নেল (শুধুমাত্র aarch64-এর জন্য)। GKI কার্নেলের এই দুটি অংশ রয়েছে:

  • জেনেরিক কার্নেল - GKI কার্নেলের সেই অংশ যা সকল ডিভাইসে অভিন্ন।

  • জিকেআই মডিউল - গুগল দ্বারা নির্মিত কার্নেল মডিউল যা প্রযোজ্য ক্ষেত্রে ডিভাইসগুলিতে ডায়নামিকভাবে লোড করা যায়। এই মডিউলগুলি জিকেআই কার্নেলের অংশ হিসাবে তৈরি করা হয় এবং জিকেআই-এর সাথে system_dlkm_staging_archive.tar.gz আর্কাইভ হিসাবে সরবরাহ করা হয়। জিকেআই মডিউলগুলি কার্নেল বিল্ড টাইম কী পেয়ার ব্যবহার করে গুগল দ্বারা স্বাক্ষরিত হয় এবং শুধুমাত্র সেই জিকেআই কার্নেলের সাথেই সামঞ্জস্যপূর্ণ যার সাথে সেগুলি তৈরি করা হয়েছে।

কার্নেল মডিউল ইন্টারফেস (KMI) কার্নেল

জিকেআই কার্নেল দেখুন।

দীর্ঘমেয়াদী সমর্থিত (LTS) কার্নেল

একটি লিনাক্স কার্নেল যা ২ থেকে ৬ বছর পর্যন্ত সমর্থিত থাকে। এলটিএস (LTS) কার্নেলগুলো বছরে একবার প্রকাশ করা হয় এবং এগুলোই গুগলের প্রতিটি অ্যান্ড্রয়েড কমন কার্নেলের ভিত্তি।

শাখার প্রকারভেদ

ACK KMI কার্নেল শাখা
যে ব্রাঞ্চের জন্য GKI কার্নেলগুলো বিল্ড করা হয়। ব্রাঞ্চের নামগুলো কার্নেল ভার্সনের সাথে সঙ্গতিপূর্ণ, যেমন android15-6.6
অ্যান্ড্রয়েড-মেইনলাইন
অ্যান্ড্রয়েড ফিচারগুলোর জন্য এটিই প্রধান ডেভেলপমেন্ট ব্রাঞ্চ। যখন আপস্ট্রিম থেকে একটি নতুন LTS কার্নেল ঘোষণা করা হয়, তখন সংশ্লিষ্ট নতুন GKI কার্নেলটি android-mainline থেকে ব্রাঞ্চ করা হয়।

লিনাক্স মেইনলাইন : আপস্ট্রিম লিনাক্স কার্নেলগুলোর, যার মধ্যে এলটিএস কার্নেলও অন্তর্ভুক্ত, প্রধান উন্নয়ন শাখা।

অন্যান্য শর্তাবলী

প্রত্যয়িত বুট ইমেজ
কার্নেলটি বাইনারি আকারে ( boot.img ) সরবরাহ করা হয় এবং ডিভাইসে ফ্ল্যাশ করা হয়। এই ইমেজটিকে সার্টিফাইড বলে গণ্য করা হয়, কারণ এতে এমবেডেড সার্টিফিকেট থাকে, যার ফলে গুগল যাচাই করতে পারে যে ডিভাইসটির সাথে গুগল কর্তৃক সার্টিফাইড একটি কার্নেল রয়েছে।
ডাইনামিক্যালি লোডেবল কার্নেল মডিউল (DLKM)
একটি মডিউল যা ডিভাইসের প্রয়োজন অনুসারে ডিভাইস বুট করার সময় গতিশীলভাবে লোড করা যায়। GKI এবং ভেন্ডর মডিউল উভয়ই DLKM-এর প্রকারভেদ। DLKM-গুলি .ko ফরম্যাটে প্রকাশিত হয় এবং এগুলি ড্রাইভার হতে পারে বা অন্যান্য কার্নেল কার্যকারিতা সরবরাহ করতে পারে।
জিকেআই প্রকল্প
গুগলের একটি প্রকল্প যা কমন কোর কার্নেলের কার্যকারিতাকে ভেন্ডর-নির্দিষ্ট SoC ও বোর্ড সাপোর্ট থেকে আলাদা করে লোডযোগ্য মডিউলে পরিণত করার মাধ্যমে কার্নেল ফ্র্যাগমেন্টেশনের সমাধান করে।

জেনেরিক কার্নেল ইমেজ (GKI) : গুগল দ্বারা প্রত্যয়িত একটি বুট ইমেজ, যাতে একটি ACK সোর্স ট্রি থেকে নির্মিত GKI কার্নেল থাকে এবং যা অ্যান্ড্রয়েড-চালিত ডিভাইসের বুট পার্টিশনে ফ্ল্যাশ করার জন্য উপযুক্ত।

কার্নেল মডিউল ইন্টারফেস (KMI)
GKI কার্নেল এবং ভেন্ডর মডিউলগুলির মধ্যে একটি ইন্টারফেস, যা ভেন্ডর মডিউলগুলিকে GKI কার্নেল থেকে স্বাধীনভাবে আপডেট করার সুযোগ দেয়। এই ইন্টারফেসটি কার্নেল ফাংশন এবং গ্লোবাল ডেটা নিয়ে গঠিত, যেগুলিকে পার্টনার-ভিত্তিক সিম্বল লিস্ট ব্যবহার করে ভেন্ডর/OEM ডিপেন্ডেন্সি হিসেবে চিহ্নিত করা হয়েছে।
বিক্রেতা মডিউল
অংশীদার দ্বারা তৈরি একটি হার্ডওয়্যার-নির্দিষ্ট মডিউল, যাতে SoC এবং ডিভাইস-নির্দিষ্ট কার্যকারিতা থাকে। ভেন্ডর মডিউল হলো এক ধরনের ডায়নামিকভাবে লোডযোগ্য কার্নেল মডিউল।

এরপর কী?

আপনি যদি অ্যান্ড্রয়েড কার্নেল ডেভেলপমেন্টে নতুন হন, তাহলে নিম্নলিখিত বিষয়গুলো পড়ে শুরু করুন:

আপনি যদি GKI কার্নেল ডেভেলপমেন্টে নতুন হন, তাহলে GKI ডেভেলপমেন্ট পড়ে শুরু করুন।