এই পৃষ্ঠায় জেনেরিক কার্নেল ইমেজ (GKI) প্রকল্প এবং এটি কীভাবে অ্যান্ড্রয়েডের স্থিতিশীলতা ও নিরাপত্তা বৃদ্ধি করে, তা বর্ণনা করা হয়েছে।
ইতিহাস
প্রতিটি অ্যান্ড্রয়েড-চালিত ডিভাইসের জন্য একটি প্রোডাকশন কার্নেল প্রয়োজন। GKI-এর আগে, কার্নেলগুলো কাস্টম ছিল এবং অ্যান্ড্রয়েড কমন কার্নেল (ACK)-এর উপর ভিত্তি করে তৈরি হতো, যেখানে সিস্টেম অন চিপ (SoC) ভেন্ডর এবং OEM-রা ডিভাইস-নির্দিষ্ট পরিবর্তন করত।
এই কাস্টমাইজেশনের ফলে কার্নেল কোডের প্রায় ৫০% পর্যন্ত আউট-অফ-ট্রি কোড হতে পারত, যা আপস্ট্রিম লিনাক্স কার্নেল বা ACK থেকে আসত না। ফলস্বরূপ, প্রি-GKI কার্নেলগুলোর এই কাস্টম প্রকৃতির কারণে উল্লেখযোগ্য পরিমাণে কার্নেল ফ্র্যাগমেন্টেশন ঘটত।
খণ্ডিতকরণের খরচ
কার্নেল ফ্র্যাগমেন্টেশনের অ্যান্ড্রয়েড কমিউনিটির উপর বেশ কিছু নেতিবাচক প্রভাব রয়েছে।
নিরাপত্তা আপডেটগুলি শ্রমসাধ্য।
অ্যান্ড্রয়েড সিকিউরিটি বুলেটিন (ASB)- এ উল্লিখিত নিরাপত্তা প্যাচগুলো প্রতিটি ডিভাইসের কার্নেলে ব্যাকপোর্ট করতে হয়। তবে, কার্নেল ফ্র্যাগমেন্টেশনের কারণে, মাঠপর্যায়ে থাকা অ্যান্ড্রয়েড ডিভাইসগুলোতে নিরাপত্তা সমাধান ছড়িয়ে দেওয়া অত্যন্ত ব্যয়বহুল।
দীর্ঘমেয়াদী সমর্থিত আপডেটগুলি একত্রিত করা কঠিন
দীর্ঘমেয়াদী সমর্থিত (LTS) রিলিজগুলোতে নিরাপত্তা সংক্রান্ত সমাধান এবং অন্যান্য গুরুত্বপূর্ণ বাগ ফিক্স অন্তর্ভুক্ত থাকে। LTS রিলিজগুলোর সাথে আপ-টু-ডেট থাকা নিরাপত্তা সংক্রান্ত সমাধান প্রদানের সবচেয়ে কার্যকর উপায় হিসেবে প্রমাণিত হয়েছে। পিক্সেল ডিভাইসগুলোর ক্ষেত্রে দেখা গেছে যে, যেসব ডিভাইস আপ-টু-ডেট থাকে, সেগুলোর জন্য ASB-তে রিপোর্ট করা কার্নেল নিরাপত্তা সংক্রান্ত সমস্যাগুলোর ৯০% ইতিমধ্যেই সমাধান করা হয়ে গেছে।
তবে, ডিভাইস কার্নেলগুলোতে থাকা সমস্ত কাস্টম পরিবর্তনের কারণে, এলটিএস ফিক্সগুলোকে সরাসরি ডিভাইস কার্নেলে মার্জ করা কঠিন।
অ্যান্ড্রয়েড প্ল্যাটফর্ম রিলিজ আপগ্রেড বাধা দিন
কার্নেল ফ্র্যাগমেন্টেশনের কারণে, কার্নেল পরিবর্তনের প্রয়োজন হয় এমন নতুন অ্যান্ড্রয়েড ফিচারগুলো ফিল্ডে থাকা ডিভাইসগুলোতে যুক্ত করা কঠিন হয়ে পড়ে। অ্যান্ড্রয়েড ফ্রেমওয়ার্ক কোডকে কার্নেলের বিভিন্ন সংস্করণ বিবেচনায় রাখতে হতো এবং কার্নেলে নতুন অ্যান্ড্রয়েড ফিচারগুলো বাস্তবায়িত হবে—এই ভরসায় থাকা যেত না। এর ফলে উদ্ভাবন মন্থর হয়ে পড়ে এবং কোডের আকার ও জটিলতা বৃদ্ধি পায়।
আপস্ট্রিম লিনাক্সে কার্নেল পরিবর্তনগুলি ফিরিয়ে দেওয়া কঠিন।
প্রোডাকশন কার্নেলে প্যাচ অন্তর্ভুক্ত করার খণ্ডিত পদ্ধতির কারণে, আপস্ট্রিম থেকে একটি LTS রিলিজ উপলব্ধ হওয়ার পর থেকে ডিভাইসে পৌঁছানো পর্যন্ত ১৮ মাস পর্যন্ত বিলম্ব হতো। আপস্ট্রিম কার্নেল রিলিজ এবং পণ্যের মধ্যে এই দীর্ঘ বিলম্বের কারণে অ্যান্ড্রয়েড কমিউনিটির পক্ষে আপস্ট্রিম কার্নেলে প্রয়োজনীয় ফিচার এবং ড্রাইভার যুক্ত করা কঠিন হয়ে পড়ত। যখন কোনো ব্যবহারকারী উন্নতির জন্য পরামর্শ জমা দিতেন, ততক্ষণে কোডবেস পরিবর্তিত হয়ে যেত, ফলে প্যাচটির প্রাসঙ্গিকতা প্রমাণ করা কঠিন হয়ে পড়ত।
খণ্ডন ঠিক করুন: জেনেরিক কার্নেল ইমেজ
জেনেরিক কার্নেল ইমেজ (GKI) প্রকল্পটি কোর কার্নেলকে একীভূত করে এবং SoC ও বোর্ড সাপোর্টকে কোর কার্নেল থেকে সরিয়ে লোডযোগ্য ভেন্ডর মডিউলে স্থানান্তরের মাধ্যমে কার্নেলের খণ্ডবিখণ্ডতার সমস্যার সমাধান করে। GKI ভেন্ডর মডিউলগুলোর জন্য একটি স্থিতিশীল কার্নেল মডিউল ইন্টারফেস (KMI)-ও প্রদান করে, ফলে মডিউল এবং কার্নেল স্বাধীনভাবে আপডেট করা যায়। GKI কার্নেলের কিছু বৈশিষ্ট্য হলো:
- GKI কার্নেলটি ACK সোর্স থেকে বিল্ড করা হয়।
- প্রতিটি LTS রিলিজের জন্য, আর্কিটেকচার অনুযায়ী GKI কার্নেল হলো একটি একক-কার্নেল বাইনারি এবং এর সাথে সংশ্লিষ্ট লোডযোগ্য মডিউলসমূহ।
- GKI কার্নেলটি সংশ্লিষ্ট ACK দ্বারা সমর্থিত সমস্ত অ্যান্ড্রয়েড প্ল্যাটফর্ম রিলিজের সাথে পরীক্ষা করা হয়। একটি GKI কার্নেল সংস্করণের জীবনকালে কোনো ফিচার বাতিল করা হয় না।
- GKI কার্নেল একটি নির্দিষ্ট LTS-এর মধ্যে থাকা ড্রাইভারদের জন্য একটি স্থিতিশীল KMI উন্মুক্ত করে।
- GKI কার্নেলে SoC-নির্দিষ্ট বা বোর্ড-নির্দিষ্ট কোনো কোড থাকে না।
GKI আর্কিটেকচারের চিত্রের জন্য কার্নেল ওভারভিউ দেখুন।
সাধারণ চিত্র
অ্যান্ড্রয়েড ১২ থেকে শুরু করে, যেসব ডিভাইসে কার্নেল ভার্সন ৫.১০ বা তার বেশি থাকে, সেগুলোতে অবশ্যই GKI কার্নেল থাকতে হবে। জেনেরিক কার্নেল ইমেজ (GKI) রিলিজ বিল্ডগুলো নিয়মিত আপডেট করা হয় এবং এতে LTS ও গুরুতর বাগ ফিক্স যুক্ত করা হয়। যেহেতু KMI-এর জন্য বাইনারি স্থিতিশীলতা বজায় রাখা হয়, তাই আপনি ভেন্ডর ইমেজে কোনো পরিবর্তন না করেই এই বুট ইমেজগুলো ইনস্টল করতে পারেন। GKI প্রজেক্টের লক্ষ্যগুলো হলো:
- প্রোডাক্ট কার্নেলকে GKI কার্নেল দিয়ে প্রতিস্থাপন করার সময় পারফরম্যান্স বা পাওয়ারের ক্ষেত্রে উল্লেখযোগ্য অবনতি ঘটাবেন না।
- অংশীদারদেরকে ভেন্ডরের সম্পৃক্ততা ছাড়াই কার্নেল নিরাপত্তা ও বাগ ফিক্স সরবরাহ করতে সক্ষম করুন।
- ডিভাইসগুলোর জন্য প্রধান কার্নেল সংস্করণ আপগ্রেড করার খরচ কমান।
- আপগ্রেড করার একটি সুস্পষ্ট প্রক্রিয়া অনুসরণ করে কার্নেল সংস্করণ হালনাগাদ করার মাধ্যমে প্রতিটি আর্কিটেকচারের জন্য একটিমাত্র GKI কার্নেল বাইনারি বজায় রাখুন।