AOSP কমন কার্নেল (এটি অ্যান্ড্রয়েড কমন কার্নেল বা ACKs নামেও পরিচিত) হল kernel.org কার্নেলের ডাউনস্ট্রীম এবং এতে Android সম্প্রদায়ের আগ্রহের প্যাচগুলি অন্তর্ভুক্ত রয়েছে যা মেইনলাইন বা দীর্ঘমেয়াদী সমর্থিত (LTS) কার্নেলে একত্রিত হয়নি। এই প্যাচগুলি অন্তর্ভুক্ত করতে পারে:
- অ্যান্ড্রয়েড বৈশিষ্ট্যগুলির জন্য প্রয়োজনীয় আপস্ট্রিম কার্যকারিতার ব্যাকপোর্ট এবং চেরি-পিক
- বৈশিষ্ট্যগুলি অ্যান্ড্রয়েড ডিভাইসগুলির জন্য প্রস্তুত কিন্তু এখনও আপস্ট্রিম বিকাশাধীন৷
- বিক্রেতা/OEM বৈশিষ্ট্য যা অন্যান্য ইকোসিস্টেম অংশীদারদের জন্য উপযোগী
android-mainline
হল Android বৈশিষ্ট্যগুলির জন্য প্রাথমিক বিকাশ শাখা। যখনই লিনাস টরভাল্ডস একটি রিলিজ বা রিলিজ প্রার্থী পোস্ট করেন তখনই লিনাক্স মেইনলাইন android-mainline
একত্রিত হয়। 2019 সালের আগে, সম্প্রতি ঘোষিত এলটিএস কার্নেল ক্লোন করে এবং অ্যান্ড্রয়েড-নির্দিষ্ট প্যাচ যোগ করে অ্যান্ড্রয়েড সাধারণ কার্নেলগুলি তৈরি করা হয়েছিল। এই প্রক্রিয়াটি 2019 সালে পরিবর্তিত হয়ে android-mainline
থেকে নতুন অ্যান্ড্রয়েড কমন কার্নেলের শাখায় পরিণত হয়েছে। এই নতুন মডেলটি পোর্ট ফরওয়ার্ড করার উল্লেখযোগ্য প্রচেষ্টা এড়িয়ে যায় এবং একই ফলাফল ক্রমবর্ধমানভাবে সম্পন্ন করে Android প্যাচ পরীক্ষা করে। android-mainline
উল্লেখযোগ্য ক্রমাগত পরীক্ষার মধ্য দিয়ে যায়, এই মডেলটি প্রকাশিত হওয়ার দিন থেকে একটি উচ্চ-মানের কার্নেল নিশ্চিত করে৷
যখন একটি নতুন LTS আপস্ট্রিম ঘোষণা করা হয়, তখন সংশ্লিষ্ট সাধারণ কার্নেলটি android-mainline
থেকে ব্রাঞ্চ করা হয়। এটি অংশীদারদের android-mainline
থেকে মার্জ করে LTS সংস্করণের ঘোষণার আগে একটি প্রকল্প শুরু করতে দেয়৷ নতুন সাধারণ কার্নেল শাখা তৈরি হওয়ার পরে, অংশীদাররা নির্বিঘ্নে নতুন শাখায় মার্জ উৎস পরিবর্তন করতে পারে।
অন্যান্য সাধারণ কার্নেল শাখাগুলি তাদের যুক্ত LTS কার্নেল থেকে নিয়মিত মার্জ গ্রহণ করে। এই মার্জগুলি সাধারণত LTS রিলিজ পোস্ট করার পরপরই করা হয়। উদাহরণস্বরূপ, যখন লিনাক্স 6.1.75 পোস্ট করা হয়েছিল, তখন এটি 6.1 সাধারণ কার্নেলে একত্রিত হয়েছিল ( android14-6.1
)। LTS এবং Android-নির্দিষ্ট বাগ ফিক্সের সাথে আপ-টু-ডেট থাকার জন্য অংশীদারদের তাদের কার্নেল আপডেট করার জন্য জোরালোভাবে উৎসাহিত করা হচ্ছে।
ACK KMI কার্নেল শাখা
GKI কার্নেলের একটি স্থিতিশীল কার্নেল মডিউল ইন্টারফেস আছে। KMI অনন্যভাবে কার্নেল সংস্করণ এবং অ্যান্ড্রয়েড প্ল্যাটফর্ম রিলিজ দ্বারা চিহ্নিত করা হয়েছে, তাই শাখাগুলির নামকরণ করা হয়েছে ANDROID_RELEASE
- KERNEL_VERSION
। উদাহরণস্বরূপ, Android 14-এর জন্য 6.1 GKI কার্নেলের নাম android14-6.1
। Android 15 এর জন্য, GKI কার্নেল android15-6.6
চালু করা হয়েছিল।
বৈশিষ্ট্য এবং লঞ্চ কার্নেল
অ্যান্ড্রয়েড 15 এর আগে, ডিভাইস লঞ্চের জন্য তিনটি সাম্প্রতিকতম কার্নেলের যে কোনো একটি ব্যবহার করা যেতে পারে। অ্যান্ড্রয়েড 15 দিয়ে শুরু করে, দুটি সাম্প্রতিক কার্নেল সংস্করণ ডিভাইস লঞ্চের জন্য ব্যবহার করা যেতে পারে। Android 15 এর জন্য লঞ্চ কার্নেলগুলি হল android15-6.6
এবং android14-6.1
।
যেহেতু প্ল্যাটফর্ম রিলিজ আপডেট করার সময় কার্নেল আপগ্রেডের প্রয়োজন হয় না, প্ল্যাটফর্ম রিলিজের সর্বশেষ বৈশিষ্ট্যগুলি অনুপস্থিত কার্নেলগুলি এখনও ডিভাইস চালু করতে ব্যবহার করা যেতে পারে। তাই Android 14-এর জন্য ডিজাইন করা কার্নেল, যেমন android14-6.1
, প্ল্যাটফর্ম রিলিজটিকে Android 15-এ আপগ্রেড করার পরেও ডিভাইসগুলিতে ব্যবহার করা যেতে পারে।
অ্যান্ড্রয়েড প্ল্যাটফর্ম রিলিজ | কার্নেল চালু করুন | বৈশিষ্ট্য কার্নেল |
---|---|---|
Android 15 (2024) | android15-6.6 android14-6.1 | android15-6.6 |
Android 14 (2023) | android14-6.1 android14-5.15 android13-5.15 android13-5.10 android12-5.10 | android14-6.1 android14-5.15 |
Android 13 (2022) | android13-5.15 android13-5.10 android12-5.10 android12-5.4 android11-5.4 | android13-5.15 android13-5.10 |
Android 12 (2021) | android12-5.10 android12-5.4 android11-5.4 android-4.19-stable | android12-5.10 android12-5.4 |
Android 11 (2020) | android11-5.4 android-4.19-stable | android11-5.4 android-4.19-stable |
1 অতিরিক্ত বিধিনিষেধ প্রযোজ্য হতে পারে যদি সংশ্লিষ্ট BSP প্ল্যাটফর্ম প্রকাশের জন্য আপডেট করা হয়। আরও সাধারণ পরিভাষায়, কার্নেলের Android রিলিজ সংখ্যা অবশ্যই লক্ষ্য FCM সংস্করণের চেয়ে বেশি বা সমান হতে হবে। ভেন্ডর ইন্টারফেস অবজেক্ট দেখুন - বিস্তারিত জানার জন্য কার্নেল শাখার সাথে মিল করুন । |
সাধারণ কার্নেল অনুক্রম
অ্যান্ড্রয়েড-মেইনলাইন থেকে শাখা
সাধারণ কার্নেল অনুক্রমের শীর্ষ স্তর চিত্র 1 এ দেখানো হয়েছে।
চিত্র 1. অ্যান্ড্রয়েড-মেইনলাইন কার্নেল থেকে সাধারণ কার্নেল তৈরি করা
লক্ষ্য করুন যে একটি নতুন অ্যান্ড্রয়েড কমন কার্নেল android14-6.1
2022 সালে android-mainline
থেকে ব্রাঞ্চ করা হয়েছিল। 2023 সালে, যখন পরবর্তী LTS ঘোষণা করা হয়েছিল, তখন android15-6.6
android-mainline
থেকে ব্রাঞ্চ করা হয়েছিল।
চিত্র 1 এ দেখানো হয়েছে, প্রতিটি কার্নেল সংস্করণ দুটি GKI কার্নেলের ভিত্তি হতে পারে। উদাহরণস্বরূপ, দুটি v5.15 কার্নেল হল android13-5.15
এবং android14-5.15
, উভয়ই তাদের নিজ নিজ প্ল্যাটফর্ম রিলিজের জন্য বৈশিষ্ট্য কার্নেল। এটি 5.10 এর ক্ষেত্রেও ছিল; android12-5.10
তৈরি করা হয়েছিল যখন LTS ঘোষণা করা হয়েছিল এবং Android 13-এর জন্য বৈশিষ্ট্যগুলির বিকাশের অনুমতি দেওয়ার জন্য 2021 সালের বসন্তে কার্নেল বৈশিষ্ট্যে android12-5.10
থেকে android13-5.10
ব্রাঞ্চ করা হয়েছিল। Android 15 (2024) থেকে শুরু করে শুধুমাত্র একটি নতুন কার্নেল সংস্করণে GKI কার্নেল (কোনও android15-6.1
কার্নেল নেই)।
ACK KMI শাখা জীবনচক্র
একটি ACK KMI শাখার জীবনচক্র চিত্র 2-এ নীচে দেখানো হয়েছে।
চিত্র 2. 6.6 ACK KMI শাখা জীবনচক্র
উন্নয়ন প্রক্রিয়া এবং শাখার জীবনচক্রকে স্পষ্ট করার জন্য, চিত্র 2 6.6-এর জন্য ACK KMI শাখাগুলিতে ফোকাস করে।
প্রতিটি ACK KMI শাখা তিনটি ধাপের মধ্যে দিয়ে চিত্র 2-এ নির্দেশিত প্রতিটি শাখায় বিভিন্ন রঙের মাধ্যমে। যেমন দেখানো হয়েছে, ফেজ নির্বিশেষে LTS নিয়মিতভাবে একত্রিত হয়।
উন্নয়ন পর্যায়
এটি তৈরি হয়ে গেলে, একটি ACK KMI শাখা বিকাশের পর্যায়ে প্রবেশ করে (চিত্র 2-এ dev হিসাবে লেবেল করা হয়েছে), এবং পরবর্তী অ্যান্ড্রয়েড প্ল্যাটফর্ম প্রকাশের জন্য বৈশিষ্ট্য অবদানের জন্য উন্মুক্ত। চিত্র 2-এ, android15-6.6
তৈরি করা হয়েছিল যখন 6.6 কে নতুন আপস্ট্রিম LTS কার্নেল হিসাবে ঘোষণা করা হয়েছিল।
স্থিতিশীলতার পর্যায়
যখন ACK KMI শাখাটিকে সম্পূর্ণ বৈশিষ্ট্য হিসাবে ঘোষণা করা হয়, তখন এটি স্থিতিশীলতার পর্যায়ে প্রবেশ করে (চিত্র 2 এ স্থিতিশীল হিসাবে লেবেল করা হয়েছে)। অংশীদার বৈশিষ্ট্য এবং বাগ সংশোধন এখনও গৃহীত হয়, কিন্তু KMI ট্র্যাকিং ইন্টারফেসকে প্রভাবিত করে এমন কোনো পরিবর্তন সনাক্ত করতে সক্ষম করা হয়েছে৷ এই পর্যায়ে, KMI-ব্রেকিং পরিবর্তনগুলি গ্রহণ করা হয় এবং KMI সংজ্ঞাটি একটি পূর্বনির্ধারিত ক্যাডেন্সে আপডেট করা হয় (সাধারণত প্রতি দুই সপ্তাহে)। KMI পর্যবেক্ষণের বিস্তারিত জানার জন্য GKI ওভারভিউ দেখুন।
KMI হিমায়িত ফেজ
একটি নতুন প্ল্যাটফর্ম রিলিজ AOSP-এ পুশ করার আগে, ACK KMI শাখা হিমায়িত করা হয় এবং শাখার আজীবনের জন্য হিমায়িত থাকে। এর মানে হল যে কোনও KMI-ব্রেকিং পরিবর্তনগুলি গ্রহণ করা হয় না যদি না একটি গুরুতর নিরাপত্তা সমস্যা চিহ্নিত করা হয় যা স্থিতিশীল KMI-কে প্রভাবিত না করে প্রশমিত করা যায় না। KMI ভাঙ্গন এড়াতে, LTS থেকে একত্রিত কিছু প্যাচ সংশোধন করা হতে পারে বা বাদ দেওয়া হতে পারে যদি অ্যান্ড্রয়েড ডিভাইসের জন্য ফিক্সের প্রয়োজন না হয়।
যখন একটি ACK KMI শাখা হিমায়িত করা হয়, তখন বাগ সংশোধন এবং অংশীদার বৈশিষ্ট্যগুলি গ্রহণ করা যেতে পারে যতক্ষণ না বিদ্যমান KMI সাধারণ কার্নেলটি ভাঙা না হয়। KMI নতুন রপ্তানি চিহ্নের সাথে প্রসারিত করা যেতে পারে যতক্ষণ না বর্তমান KMI গঠিত ইন্টারফেসগুলি প্রভাবিত না হয়। যখন নতুন ইন্টারফেসগুলি KMI-তে যোগ করা হয়, তখন সেগুলি অবিলম্বে স্থিতিশীল হয়ে যায় এবং ভবিষ্যতের পরিবর্তনগুলির দ্বারা ভাঙা যায় না।
উদাহরণ স্বরূপ, KMI ইন্টারফেস সাধারণ কার্নেল দ্বারা ব্যবহৃত কাঠামোতে একটি ক্ষেত্র যোগ করে এমন একটি পরিবর্তন অনুমোদিত নয় কারণ এটি ইন্টারফেসের সংজ্ঞা পরিবর্তন করে:
struct foo {
int original_field1;
int original_field2;
int new_field; // Not allowed
};
int do_foo(struct foo &myarg)
{
do_stuff(myarg);
}
EXPORT_SYMBOL_GPL(do_foo);
যাইহোক, একটি নতুন ফাংশন যোগ করা ঠিক আছে:
struct foo2 {
struct foo orig_foo;
int new_field;
};
int do_foo2(struct foo2 &myarg)
{
do_stuff2(myarg);
}
EXPORT_SYMBOL_GPL(do_foo2);
GKI কার্নেলের আজীবনের জন্য, ইউজারস্পেসের সাথে পশ্চাদগামী সামঞ্জস্য বজায় রাখা হয় যাতে ডিভাইসটি চালু করা Android প্ল্যাটফর্ম রিলিজের জন্য কার্নেল নিরাপদে ব্যবহার করা যায়। পূর্ববর্তী রিলিজের সাথে ক্রমাগত পরীক্ষা নিশ্চিত করে যে সামঞ্জস্য বজায় রাখা হয়েছে। সুতরাং চিত্র 2-এ, android15-6.6
কার্নেলটি Android 15 ডিভাইস এবং পরবর্তী ডিভাইসগুলির জন্য ব্যবহার করা যেতে পারে। কারণ অ্যান্ড্রয়েড প্ল্যাটফর্ম রিলিজটি পূর্ববর্তী সংস্করণগুলির সাথেও সামঞ্জস্যপূর্ণ, android14-6.1
কার্নেলটি Android 15 ডিভাইসের জন্য লঞ্চ বা আপগ্রেডের জন্য ব্যবহার করা যেতে পারে।
KMI প্রজন্মের সংখ্যা
যদি স্থিতিশীলতার পর্যায়ে একটি LTS মার্জ হয় বা এর পরে একটি নিরাপত্তা সমস্যা বা অন্য কোনো ইভেন্ট যার জন্য একটি KMI- পরিবর্তনকারী প্যাচ গ্রহণ করা প্রয়োজন, তাহলে build.config.common
এ রেকর্ড করা KMI জেনারেশন নম্বর বৃদ্ধি করা হয়। বর্তমান KMI প্রজন্মটি uname
কমান্ড ব্যবহার করে পাওয়া যাবে:
$ uname -r
6.6.30-android15-6-g86d10b30f51f
প্ল্যাটফর্ম প্রকাশের পরে সংখ্যাটি হল KMI প্রজন্ম (এই ক্ষেত্রে 6
)।
KMI জেনারেশন পরিবর্তন হলে, কার্নেল আগের KMI জেনারেশনের সাথে মানানসই বিক্রেতা মডিউলগুলির সাথে সামঞ্জস্যপূর্ণ নয়, তাই মডিউলগুলিকে অবশ্যই কার্নেলের সাথে সিঙ্ক্রোনাসভাবে পুনর্নির্মাণ এবং আপডেট করতে হবে। KMI হিমায়িত হওয়ার পরে, KMI প্রজন্মের পরিবর্তনগুলি খুব বিরল হবে বলে আশা করা হচ্ছে।
কার্নেলের মধ্যে সামঞ্জস্য
একই LTS পরিবারের কার্নেলের মধ্যে সামঞ্জস্যের প্রয়োজনীয়তা নতুন GKI কার্নেলের সাথে শুরু করে পরিবর্তিত হচ্ছে।
GKI কার্নেল
GKI কার্নেলগুলি সমস্ত অ্যান্ড্রয়েড প্ল্যাটফর্মের রিলিজের সাথে পিছনের সামঞ্জস্য বজায় রাখে যা কার্নেল সংস্করণকে সমর্থন করে। অতিরিক্তভাবে, অ্যান্ড্রয়েড প্ল্যাটফর্ম রিলিজগুলি পূর্ববর্তী রিলিজগুলির GKI কার্নেলের সাথে পশ্চাদমুখী-সামঞ্জস্যপূর্ণ। তাই আপনি Android 15 (2024) চালিত ডিভাইসগুলিতে Android 14 (2023) এর জন্য বিকাশ করা android14-6.1
কার্নেল নিরাপদে ব্যবহার করতে পারেন। সমস্ত সমর্থিত রিলিজের সাথে GKI কার্নেলের ক্রমাগত VTS এবং CTS পরীক্ষার মাধ্যমে সামঞ্জস্যতা যাচাই করা হয়।
KMI স্থিতিশীল যাতে ভেন্ডর ইমেজে কার্নেল মডিউলের পুনর্নির্মাণের প্রয়োজন ছাড়াই কার্নেল আপডেট করা যায়।
বিভিন্ন GKI কার্নেলের মধ্যে KMI সামঞ্জস্য বজায় রাখা হয় না। সুতরাং, উদাহরণস্বরূপ, সমস্ত মডিউল পুনর্নির্মাণ ছাড়া একটি android14-6.1
কার্নেল একটি android15-6.6
কার্নেল দিয়ে প্রতিস্থাপন করা যাবে না।
GKI কার্নেল শুধুমাত্র প্রাথমিক এবং পরবর্তী রিলিজের জন্য সমর্থিত। সেগুলি পুরানো রিলিজের জন্য সমর্থিত নয়। সুতরাং Android 14 (2023) চলমান ডিভাইসগুলির জন্য একটি android15-6.6
কার্নেল সমর্থিত নয়।
সামঞ্জস্য ম্যাট্রিক্স
এই টেবিলটি প্রতিটি Android প্ল্যাটফর্ম রিলিজের সাথে সমর্থিত এবং পরীক্ষিত কার্নেল সংস্করণগুলি দেখায়।
অ্যান্ড্রয়েড প্ল্যাটফর্ম রিলিজ | আপগ্রেডের জন্য সমর্থিত কার্নেল | লঞ্চের জন্য সমর্থিত কার্নেল |
---|---|---|
Android 15 (2024) | android15-6.6 | android15-6.6 |
Android 14 (2023) | android14-6.1 | android14-6.1 |
Android 13 (2022) | android13-5.15 | android13-5.15 |
Android 12 (2021) | android12-5.10 | android-4.19-stable |
Android 11 (2020) | android11-5.4 | android11-5.4 |
জীবনকাল এবং নিরাপত্তা প্যাচ সমর্থন
ACKs আপস্ট্রিম থেকে LTS মার্জ এবং Android-নির্দিষ্ট কোডের জন্য বাগ ফিক্স গ্রহণ করে। এই সংশোধনগুলির মধ্যে ACK-এর সাথে প্রাসঙ্গিক মাসিক Android সিকিউরিটি বুলেটিনগুলিতে উদ্ধৃত সমস্ত কার্নেল সুরক্ষা প্যাচ অন্তর্ভুক্ত রয়েছে৷
ACKs kernel.org- এ সংশ্লিষ্ট আপস্ট্রিম স্থিতিশীল কার্নেলের চেয়ে বেশি সময়ের জন্য সমর্থিত হতে পারে। এই ক্ষেত্রে, Google এই বিভাগে দেখানো শেষ-জীবনের (EOL) তারিখ পর্যন্ত বর্ধিত সহায়তা প্রদান করে। যখন কার্নেলগুলি EOLed হয়, তখন সেগুলি আর Google দ্বারা সমর্থিত হয় না এবং সেগুলি চালানো ডিভাইসগুলিকে দুর্বল বলে মনে করা হয়৷
কার্নেল 6.6 দিয়ে শুরু করে, স্থিতিশীল কার্নেলের জন্য সমর্থন জীবনকাল 4 বছর।
এই টেবিলটি সমর্থিত ACK-এর জীবনকাল দেখায়:
ACK শাখা | লঞ্চ তারিখ | সমর্থন জীবনকাল (বছর) | ইওএল |
---|---|---|---|
android-4.19-স্থিতিশীল | 2018-10-22 | 6 | 2025-01-01 |
android11-5.4 | 2019-11-24 | 6 | 2026-01-01 |
android12-5.4 | 2019-11-24 | 6 | 2026-01-01 |
android12-5.10 | 2020-12-13 | 6 | 2027-07-01 |
android13-5.10 | 2020-12-13 | 6 | 2027-07-01 |
android13-5.15 | 2021-10-31 | 6 | 2028-07-01 |
android14-5.15 | 2021-10-31 | 6 | 2028-07-01 |
android14-6.1 | 2022-12-11 | 6 | 2029-07-01 |
android15-6.6 | 2023-10-29 | 4 | 2028-07-01 |
সাধারণ কার্নেল পরীক্ষা
সাধারণ কার্নেলগুলি বিক্রেতাদের দ্বারা ডাউনস্ট্রিম পরীক্ষার পাশাপাশি বেশ কয়েকটি CI সিস্টেমের সাথে পরীক্ষা করা হয়।
লিনাক্স কার্নেল কার্যকরী পরীক্ষা
লিনাক্স কার্নেল ফাংশনাল টেস্ট (LKFT) পরীক্ষাগুলি শারীরিক arm32 এবং arm64 ডিভাইসের সেটে kselftest, LTP, VTS, এবং CTS সহ বিভিন্ন টেস্ট স্যুট শুরু করে। সাম্প্রতিক পরীক্ষার ফলাফল এখানে পাওয়া যাবে.
কার্নেলসিআই পরীক্ষা
যখনই একটি সাধারণ কার্নেল শাখায় একটি নতুন প্যাচ প্রতিশ্রুতিবদ্ধ হয় তখনই KernelCI বিল্ড-এন্ড-বুট পরীক্ষা শুরু করা হয়। বিভিন্ন বোর্ডে কয়েকশো বিল্ড কনফিগারেশন পরীক্ষা করা হয় এবং বুট করা হয়। অ্যান্ড্রয়েড কার্নেলের সাম্প্রতিক ফলাফল এখানে পাওয়া যাবে।
অ্যান্ড্রয়েড প্রি-সাবমিট এবং পোস্ট সাবমিট টেস্টিং
প্রি-সাবমিট পরীক্ষাগুলি অ্যান্ড্রয়েড সাধারণ কার্নেলগুলিতে প্রবর্তিত হওয়া থেকে ব্যর্থতা প্রতিরোধ করতে ব্যবহৃত হয়। পরীক্ষার ফলাফলের সারাংশ অ্যান্ড্রয়েড সাধারণ কার্নেল গেরিটে কোড পরিবর্তনের 'চেকস' ট্যাবে পাওয়া যাবে।
যখন নতুন প্যাচ ci.android.com- এ একটি Android সাধারণ কার্নেল শাখায় প্রতিশ্রুতিবদ্ধ হয় তখন Android সাধারণ কার্নেল শাখায় নতুন প্রকাশিত বিল্ডগুলিতে Android পোস্টসাবমিট পরীক্ষা করা হয়। ci.android.com- এ একটি আংশিক শাখার নাম হিসাবে aosp_kernel
প্রবেশ করার মাধ্যমে, আপনি উপলব্ধ ফলাফল সহ কার্নেল শাখাগুলির একটি তালিকা দেখতে পাবেন। উদাহরণস্বরূপ, android-mainline
এর ফলাফল এখানে পাওয়া যাবে। একটি নির্দিষ্ট বিল্ডে ক্লিক করার সময়, আপনি Test Results
ট্যাবে পরীক্ষার স্থিতি দেখতে পাবেন।
অ্যান্ড্রয়েড প্ল্যাটফর্ম সোর্স ট্রি-তে টেস্ট গ্রুপ kernel-presubmit
সহ টেস্ট-ম্যাপিং দ্বারা সংজ্ঞায়িত পরীক্ষাগুলি অ্যান্ড্রয়েড কার্নেল শাখাগুলির জন্য প্রিসাবমিট হিসাবে চালানো হবে। উদাহরণ স্বরূপ test/vts/tests/kernel_proc_file_api_test/TEST_MAPPING- এ নিম্নলিখিত কনফিগারেশনটি Android সাধারণ কার্নেল কোড চেক-ইন-এ প্রিসবুমিট পরীক্ষা হিসাবে vts_kernel_proc_file_api_test সক্ষম করবে।
{
"kernel-presubmit": [
{
"name": "vts_kernel_proc_file_api_test"
}
]
}
0-দিনের পরীক্ষা
0-দিনের পরীক্ষা যখন নতুন প্যাচগুলি প্রতিশ্রুতিবদ্ধ হয় তখন সমস্ত Android সাধারণ কার্নেল শাখাগুলিতে প্যাচ-বাই-প্যাচ পরীক্ষা করে। বিভিন্ন বুট, কার্যকরী এবং কর্মক্ষমতা পরীক্ষা চালানো হয়। পাবলিক গ্রুপ ক্রস-কারনেল-বিল্ড রিপোর্টে যোগ দিন
টেস্ট ম্যাট্রিক্স
অ্যান্ড্রয়েড সাধারণ কার্নেল | অ্যান্ড্রয়েড প্ল্যাটফর্ম রিলিজ | টেস্ট স্যুট | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
প্রধান | 15 | 14 | 13 | 12 | 11 | 10 | এলকেএফটি | কার্নেলসিআই | প্রি জমা দিন | পোস্ট জমা দিন | 0-দিন | |
android-mainline | ✅ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ✅ | ✅ | ✅ | ✅ | ✅ |
android15-6.6 | ✅ | ✅ | ❌ | ❌ | ❌ | ❌ | ❌ | ✅ | ✅ | ✅ | ✅ | ✅ |
android14-6.1 | ✅ | ✅ | ✅ | ❌ | ❌ | ❌ | ❌ | ✅ | ✅ | ✅ | ✅ | ✅ | android13-5.15 | ✅ | ✅ | ✅ | ✅ | ❌ | ❌ | ❌ | ✅ | ✅ | ✅ | ✅ | ✅ |
android12-5.10 | ✅ | ✅ | ✅ | ✅ | ✅ | ❌ | ❌ | ✅ | ✅ | ✅ | ✅ | ✅ |
android11-5.4 | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ❌ | ✅ | ✅ | ✅ | ✅ | ✅ |
android-4.19-stable | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
Android সাধারণ কার্নেলগুলিতে অবদান রাখুন
সাধারণত, বৈশিষ্ট্য বিকাশ মেইনলাইন লিনাক্সে করা উচিত এবং অ্যান্ড্রয়েড সাধারণ কার্নেলে নয়। আপস্ট্রিম ডেভেলপমেন্টকে জোরালোভাবে উৎসাহিত করা হয়, এবং সেখানে ডেভেলপমেন্ট গৃহীত হওয়ার পরে, প্রয়োজন অনুসারে এটি সহজেই নির্দিষ্ট ACK শাখায় ব্যাকপোর্ট করা যেতে পারে। অ্যান্ড্রয়েড কার্নেল টিম অ্যান্ড্রয়েড ইকোসিস্টেমের সুবিধার জন্য আপস্ট্রিমিং প্রচেষ্টাকে সমর্থন করতে পেরে খুশি৷
Gerrit- এ প্যাচ জমা দিন এবং এই অবদান নির্দেশিকা মেনে চলুন।
,AOSP কমন কার্নেল (এটি অ্যান্ড্রয়েড কমন কার্নেল বা ACKs নামেও পরিচিত) হল kernel.org কার্নেলের ডাউনস্ট্রীম এবং এতে Android সম্প্রদায়ের আগ্রহের প্যাচগুলি অন্তর্ভুক্ত রয়েছে যা মেইনলাইন বা দীর্ঘমেয়াদী সমর্থিত (LTS) কার্নেলে একত্রিত হয়নি। এই প্যাচগুলি অন্তর্ভুক্ত করতে পারে:
- অ্যান্ড্রয়েড বৈশিষ্ট্যগুলির জন্য প্রয়োজনীয় আপস্ট্রিম কার্যকারিতার ব্যাকপোর্ট এবং চেরি-পিক
- বৈশিষ্ট্যগুলি অ্যান্ড্রয়েড ডিভাইসগুলির জন্য প্রস্তুত কিন্তু এখনও আপস্ট্রিম বিকাশাধীন৷
- বিক্রেতা/OEM বৈশিষ্ট্য যা অন্যান্য ইকোসিস্টেম অংশীদারদের জন্য উপযোগী
android-mainline
হল Android বৈশিষ্ট্যগুলির জন্য প্রাথমিক বিকাশ শাখা। যখনই লিনাস টরভাল্ডস একটি রিলিজ বা রিলিজ প্রার্থী পোস্ট করেন তখনই লিনাক্স মেইনলাইন android-mainline
একত্রিত হয়। 2019 সালের আগে, সম্প্রতি ঘোষিত এলটিএস কার্নেল ক্লোন করে এবং অ্যান্ড্রয়েড-নির্দিষ্ট প্যাচ যোগ করে অ্যান্ড্রয়েড সাধারণ কার্নেলগুলি তৈরি করা হয়েছিল। এই প্রক্রিয়াটি 2019 সালে পরিবর্তিত হয়ে android-mainline
থেকে নতুন অ্যান্ড্রয়েড কমন কার্নেলের শাখায় পরিণত হয়েছে। এই নতুন মডেলটি পোর্ট ফরওয়ার্ড করার উল্লেখযোগ্য প্রচেষ্টা এড়িয়ে যায় এবং একই ফলাফল ক্রমবর্ধমানভাবে সম্পন্ন করে Android প্যাচ পরীক্ষা করে। android-mainline
উল্লেখযোগ্য ক্রমাগত পরীক্ষার মধ্য দিয়ে যায়, এই মডেলটি প্রকাশিত হওয়ার দিন থেকে একটি উচ্চ-মানের কার্নেল নিশ্চিত করে৷
যখন একটি নতুন LTS আপস্ট্রিম ঘোষণা করা হয়, তখন সংশ্লিষ্ট সাধারণ কার্নেলটি android-mainline
থেকে ব্রাঞ্চ করা হয়। এটি অংশীদারদের android-mainline
থেকে মার্জ করে LTS সংস্করণের ঘোষণার আগে একটি প্রকল্প শুরু করতে দেয়৷ নতুন সাধারণ কার্নেল শাখা তৈরি হওয়ার পরে, অংশীদাররা নির্বিঘ্নে নতুন শাখায় মার্জ উৎস পরিবর্তন করতে পারে।
অন্যান্য সাধারণ কার্নেল শাখাগুলি তাদের যুক্ত LTS কার্নেল থেকে নিয়মিত মার্জ গ্রহণ করে। এই মার্জগুলি সাধারণত LTS রিলিজ পোস্ট করার পরপরই করা হয়। উদাহরণস্বরূপ, যখন লিনাক্স 6.1.75 পোস্ট করা হয়েছিল, তখন এটি 6.1 সাধারণ কার্নেলে একত্রিত হয়েছিল ( android14-6.1
)। LTS এবং Android-নির্দিষ্ট বাগ ফিক্সের সাথে আপ-টু-ডেট থাকার জন্য অংশীদারদের তাদের কার্নেল আপডেট করার জন্য জোরালোভাবে উৎসাহিত করা হচ্ছে।
ACK KMI কার্নেল শাখা
GKI কার্নেলের একটি স্থিতিশীল কার্নেল মডিউল ইন্টারফেস আছে। KMI অনন্যভাবে কার্নেল সংস্করণ এবং অ্যান্ড্রয়েড প্ল্যাটফর্ম রিলিজ দ্বারা চিহ্নিত করা হয়েছে, তাই শাখাগুলির নামকরণ করা হয়েছে ANDROID_RELEASE
- KERNEL_VERSION
। উদাহরণস্বরূপ, Android 14-এর জন্য 6.1 GKI কার্নেলের নাম android14-6.1
। Android 15 এর জন্য, GKI কার্নেল android15-6.6
চালু করা হয়েছিল।
বৈশিষ্ট্য এবং লঞ্চ কার্নেল
অ্যান্ড্রয়েড 15 এর আগে, ডিভাইস লঞ্চের জন্য তিনটি সাম্প্রতিকতম কার্নেলের যে কোনো একটি ব্যবহার করা যেতে পারে। অ্যান্ড্রয়েড 15 দিয়ে শুরু করে, দুটি সাম্প্রতিক কার্নেল সংস্করণ ডিভাইস লঞ্চের জন্য ব্যবহার করা যেতে পারে। Android 15 এর জন্য লঞ্চ কার্নেলগুলি হল android15-6.6
এবং android14-6.1
।
যেহেতু প্ল্যাটফর্ম রিলিজ আপডেট করার সময় কার্নেল আপগ্রেডের প্রয়োজন হয় না, প্ল্যাটফর্ম রিলিজের সর্বশেষ বৈশিষ্ট্যগুলি অনুপস্থিত কার্নেলগুলি এখনও ডিভাইস চালু করতে ব্যবহার করা যেতে পারে। তাই Android 14-এর জন্য ডিজাইন করা কার্নেল, যেমন android14-6.1
, প্ল্যাটফর্ম রিলিজটিকে Android 15-এ আপগ্রেড করার পরেও ডিভাইসগুলিতে ব্যবহার করা যেতে পারে।
অ্যান্ড্রয়েড প্ল্যাটফর্ম রিলিজ | কার্নেল চালু করুন | বৈশিষ্ট্য কার্নেল |
---|---|---|
Android 15 (2024) | android15-6.6 android14-6.1 | android15-6.6 |
Android 14 (2023) | android14-6.1 android14-5.15 android13-5.15 android13-5.10 android12-5.10 | android14-6.1 android14-5.15 |
Android 13 (2022) | android13-5.15 android13-5.10 android12-5.10 android12-5.4 android11-5.4 | android13-5.15 android13-5.10 |
Android 12 (2021) | android12-5.10 android12-5.4 android11-5.4 android-4.19-stable | android12-5.10 android12-5.4 |
Android 11 (2020) | android11-5.4 android-4.19-stable | android11-5.4 android-4.19-stable |
1 অতিরিক্ত নিষেধাজ্ঞা প্রযোজ্য হতে পারে যদি সংশ্লিষ্ট BSP প্ল্যাটফর্ম প্রকাশের জন্য আপডেট করা হয়। আরও সাধারণ পরিভাষায়, কার্নেলের Android রিলিজ সংখ্যা অবশ্যই লক্ষ্য FCM সংস্করণের চেয়ে বেশি বা সমান হতে হবে। বিক্রেতা ইন্টারফেস অবজেক্ট দেখুন - বিস্তারিত জানার জন্য কার্নেল শাখার সাথে মিল করুন । |
সাধারণ কার্নেল অনুক্রম
অ্যান্ড্রয়েড-মেইনলাইন থেকে শাখা
সাধারণ কার্নেল অনুক্রমের শীর্ষ স্তর চিত্র 1 এ দেখানো হয়েছে।
চিত্র 1. অ্যান্ড্রয়েড-মেইনলাইন কার্নেল থেকে সাধারণ কার্নেল তৈরি করা
লক্ষ্য করুন যে একটি নতুন অ্যান্ড্রয়েড কমন কার্নেল android14-6.1
2022 সালে android-mainline
থেকে ব্রাঞ্চ করা হয়েছিল। 2023 সালে, যখন পরবর্তী LTS ঘোষণা করা হয়েছিল, তখন android15-6.6
android-mainline
থেকে ব্রাঞ্চ করা হয়েছিল।
চিত্র 1 এ দেখানো হয়েছে, প্রতিটি কার্নেল সংস্করণ দুটি GKI কার্নেলের ভিত্তি হতে পারে। উদাহরণস্বরূপ, দুটি v5.15 কার্নেল হল android13-5.15
এবং android14-5.15
, উভয়ই তাদের নিজ নিজ প্ল্যাটফর্ম রিলিজের জন্য বৈশিষ্ট্য কার্নেল। এটি 5.10 এর ক্ষেত্রেও ছিল; android12-5.10
তৈরি করা হয়েছিল যখন LTS ঘোষণা করা হয়েছিল এবং Android 13-এর জন্য বৈশিষ্ট্যগুলির বিকাশের অনুমতি দেওয়ার জন্য 2021 সালের বসন্তে কার্নেল বৈশিষ্ট্যে android12-5.10
থেকে android13-5.10
ব্রাঞ্চ করা হয়েছিল। Android 15 (2024) থেকে শুরু করে শুধুমাত্র একটি নতুন কার্নেল সংস্করণে GKI কার্নেল (কোনও android15-6.1
কার্নেল নেই)।
ACK KMI শাখা জীবনচক্র
একটি ACK KMI শাখার জীবনচক্র চিত্র 2-এ নীচে দেখানো হয়েছে।
চিত্র 2. 6.6 ACK KMI শাখা জীবনচক্র
উন্নয়ন প্রক্রিয়া এবং শাখার জীবনচক্রকে স্পষ্ট করার জন্য, চিত্র 2 6.6-এর জন্য ACK KMI শাখাগুলিতে ফোকাস করে।
প্রতিটি ACK KMI শাখা তিনটি ধাপের মধ্যে দিয়ে চিত্র 2-এ নির্দেশিত প্রতিটি শাখায় বিভিন্ন রঙের মাধ্যমে। যেমন দেখানো হয়েছে, ফেজ নির্বিশেষে LTS নিয়মিতভাবে একত্রিত হয়।
উন্নয়ন পর্যায়
এটি তৈরি হয়ে গেলে, একটি ACK KMI শাখা বিকাশের পর্যায়ে প্রবেশ করে (চিত্র 2-এ dev হিসাবে লেবেল করা হয়েছে), এবং পরবর্তী অ্যান্ড্রয়েড প্ল্যাটফর্ম প্রকাশের জন্য বৈশিষ্ট্য অবদানের জন্য উন্মুক্ত। চিত্র 2-এ, android15-6.6
তৈরি করা হয়েছিল যখন 6.6 কে নতুন আপস্ট্রিম LTS কার্নেল হিসাবে ঘোষণা করা হয়েছিল।
স্থিতিশীলতার পর্যায়
যখন ACK KMI শাখাটিকে সম্পূর্ণ বৈশিষ্ট্য হিসাবে ঘোষণা করা হয়, তখন এটি স্থিতিশীলতার পর্যায়ে প্রবেশ করে (চিত্র 2 এ স্থিতিশীল হিসাবে লেবেল করা হয়েছে)। অংশীদার বৈশিষ্ট্য এবং বাগ সংশোধন এখনও গৃহীত হয়, কিন্তু KMI ট্র্যাকিং ইন্টারফেসকে প্রভাবিত করে এমন কোনো পরিবর্তন সনাক্ত করতে সক্ষম করা হয়েছে৷ এই পর্যায়ে, KMI-ব্রেকিং পরিবর্তনগুলি গ্রহণ করা হয় এবং KMI সংজ্ঞাটি একটি পূর্বনির্ধারিত ক্যাডেন্সে আপডেট করা হয় (সাধারণত প্রতি দুই সপ্তাহে)। KMI পর্যবেক্ষণের বিস্তারিত জানার জন্য GKI ওভারভিউ দেখুন।
KMI হিমায়িত ফেজ
একটি নতুন প্ল্যাটফর্ম রিলিজ AOSP-এ পুশ করার আগে, ACK KMI শাখা হিমায়িত করা হয় এবং শাখার আজীবনের জন্য হিমায়িত থাকে। এর মানে হল যে কোনও KMI-ব্রেকিং পরিবর্তনগুলি গ্রহণ করা হয় না যদি না একটি গুরুতর নিরাপত্তা সমস্যা চিহ্নিত করা হয় যা স্থিতিশীল KMI-কে প্রভাবিত না করে প্রশমিত করা যায় না। KMI ভাঙ্গন এড়াতে, LTS থেকে একত্রিত কিছু প্যাচ সংশোধন করা হতে পারে বা বাদ দেওয়া হতে পারে যদি অ্যান্ড্রয়েড ডিভাইসের জন্য ফিক্সের প্রয়োজন না হয়।
যখন একটি ACK KMI শাখা হিমায়িত করা হয়, তখন বাগ সংশোধন এবং অংশীদার বৈশিষ্ট্যগুলি গ্রহণ করা যেতে পারে যতক্ষণ না বিদ্যমান KMI সাধারণ কার্নেলটি ভাঙা না হয়। KMI নতুন রপ্তানি চিহ্নের সাথে প্রসারিত করা যেতে পারে যতক্ষণ না বর্তমান KMI গঠিত ইন্টারফেসগুলি প্রভাবিত না হয়। যখন নতুন ইন্টারফেসগুলি KMI-তে যোগ করা হয়, তখন সেগুলি অবিলম্বে স্থিতিশীল হয়ে যায় এবং ভবিষ্যতের পরিবর্তনগুলির দ্বারা ভাঙা যায় না।
উদাহরণ স্বরূপ, KMI ইন্টারফেস সাধারণ কার্নেল দ্বারা ব্যবহৃত কাঠামোতে একটি ক্ষেত্র যোগ করে এমন একটি পরিবর্তন অনুমোদিত নয় কারণ এটি ইন্টারফেসের সংজ্ঞা পরিবর্তন করে:
struct foo {
int original_field1;
int original_field2;
int new_field; // Not allowed
};
int do_foo(struct foo &myarg)
{
do_stuff(myarg);
}
EXPORT_SYMBOL_GPL(do_foo);
যাইহোক, একটি নতুন ফাংশন যোগ করা ঠিক আছে:
struct foo2 {
struct foo orig_foo;
int new_field;
};
int do_foo2(struct foo2 &myarg)
{
do_stuff2(myarg);
}
EXPORT_SYMBOL_GPL(do_foo2);
GKI কার্নেলের আজীবনের জন্য, ইউজারস্পেসের সাথে পশ্চাদগামী সামঞ্জস্য বজায় রাখা হয় যাতে ডিভাইসটি চালু করা Android প্ল্যাটফর্ম রিলিজের জন্য কার্নেল নিরাপদে ব্যবহার করা যায়। পূর্ববর্তী রিলিজের সাথে ক্রমাগত পরীক্ষা নিশ্চিত করে যে সামঞ্জস্য বজায় রাখা হয়েছে। সুতরাং চিত্র 2-এ, android15-6.6
কার্নেলটি Android 15 ডিভাইস এবং পরবর্তী ডিভাইসগুলির জন্য ব্যবহার করা যেতে পারে। কারণ অ্যান্ড্রয়েড প্ল্যাটফর্ম রিলিজটি পূর্ববর্তী সংস্করণগুলির সাথেও সামঞ্জস্যপূর্ণ, android14-6.1
কার্নেলটি Android 15 ডিভাইসের জন্য লঞ্চ বা আপগ্রেডের জন্য ব্যবহার করা যেতে পারে।
KMI প্রজন্মের সংখ্যা
যদি স্থিতিশীলতার পর্যায়ে একটি LTS মার্জ হয় বা এর পরে একটি নিরাপত্তা সমস্যা বা অন্য কোনো ইভেন্ট যার জন্য একটি KMI- পরিবর্তনকারী প্যাচ গ্রহণ করা প্রয়োজন, তাহলে build.config.common
এ রেকর্ড করা KMI জেনারেশন নম্বর বৃদ্ধি করা হয়। বর্তমান KMI প্রজন্মটি uname
কমান্ড ব্যবহার করে পাওয়া যাবে:
$ uname -r
6.6.30-android15-6-g86d10b30f51f
প্ল্যাটফর্ম প্রকাশের পরে সংখ্যাটি হল KMI প্রজন্ম (এই ক্ষেত্রে 6
)।
KMI জেনারেশন পরিবর্তন হলে, কার্নেল আগের KMI জেনারেশনের সাথে মানানসই বিক্রেতা মডিউলগুলির সাথে সামঞ্জস্যপূর্ণ নয়, তাই মডিউলগুলিকে অবশ্যই কার্নেলের সাথে সিঙ্ক্রোনাসভাবে পুনর্নির্মাণ এবং আপডেট করতে হবে। KMI হিমায়িত হওয়ার পরে, KMI প্রজন্মের পরিবর্তনগুলি খুব বিরল হবে বলে আশা করা হচ্ছে।
কার্নেলের মধ্যে সামঞ্জস্য
একই LTS পরিবারের কার্নেলের মধ্যে সামঞ্জস্যের প্রয়োজনীয়তা নতুন GKI কার্নেলের সাথে শুরু করে পরিবর্তিত হচ্ছে।
GKI কার্নেল
GKI কার্নেলগুলি সমস্ত অ্যান্ড্রয়েড প্ল্যাটফর্মের রিলিজের সাথে পিছনের সামঞ্জস্য বজায় রাখে যা কার্নেল সংস্করণকে সমর্থন করে। অতিরিক্তভাবে, অ্যান্ড্রয়েড প্ল্যাটফর্ম রিলিজগুলি পূর্ববর্তী রিলিজগুলির GKI কার্নেলের সাথে পশ্চাদমুখী-সামঞ্জস্যপূর্ণ। তাই আপনি Android 15 (2024) চালিত ডিভাইসগুলিতে Android 14 (2023) এর জন্য বিকাশ করা android14-6.1
কার্নেল নিরাপদে ব্যবহার করতে পারেন। সমস্ত সমর্থিত রিলিজের সাথে GKI কার্নেলের ক্রমাগত VTS এবং CTS পরীক্ষার মাধ্যমে সামঞ্জস্যতা যাচাই করা হয়।
KMI স্থিতিশীল যাতে ভেন্ডর ইমেজে কার্নেল মডিউলের পুনর্নির্মাণের প্রয়োজন ছাড়াই কার্নেল আপডেট করা যায়।
বিভিন্ন GKI কার্নেলের মধ্যে KMI সামঞ্জস্য বজায় রাখা হয় না। সুতরাং, উদাহরণস্বরূপ, সমস্ত মডিউল পুনর্নির্মাণ ছাড়া একটি android14-6.1
কার্নেল একটি android15-6.6
কার্নেল দিয়ে প্রতিস্থাপন করা যাবে না।
GKI কার্নেল শুধুমাত্র প্রাথমিক এবং পরবর্তী রিলিজের জন্য সমর্থিত। সেগুলি পুরানো রিলিজের জন্য সমর্থিত নয়। সুতরাং Android 14 (2023) চলমান ডিভাইসগুলির জন্য একটি android15-6.6
কার্নেল সমর্থিত নয়।
সামঞ্জস্য ম্যাট্রিক্স
এই টেবিলটি প্রতিটি Android প্ল্যাটফর্ম রিলিজের সাথে সমর্থিত এবং পরীক্ষিত কার্নেল সংস্করণগুলি দেখায়।
অ্যান্ড্রয়েড প্ল্যাটফর্ম রিলিজ | আপগ্রেডের জন্য সমর্থিত কার্নেল | লঞ্চের জন্য সমর্থিত কার্নেল |
---|---|---|
Android 15 (2024) | android15-6.6 | android15-6.6 |
Android 14 (2023) | android14-6.1 | android14-6.1 |
Android 13 (2022) | android13-5.15 | android13-5.15 |
Android 12 (2021) | android12-5.10 | android-4.19-stable |
Android 11 (2020) | android11-5.4 | android11-5.4 |
জীবনকাল এবং নিরাপত্তা প্যাচ সমর্থন
ACKs আপস্ট্রিম থেকে LTS মার্জ এবং Android-নির্দিষ্ট কোডের জন্য বাগ ফিক্স গ্রহণ করে। এই সংশোধনগুলির মধ্যে ACK-এর সাথে প্রাসঙ্গিক মাসিক Android সিকিউরিটি বুলেটিনগুলিতে উদ্ধৃত সমস্ত কার্নেল সুরক্ষা প্যাচ অন্তর্ভুক্ত রয়েছে৷
ACKs kernel.org- এ সংশ্লিষ্ট আপস্ট্রিম স্থিতিশীল কার্নেলের চেয়ে বেশি সময়ের জন্য সমর্থিত হতে পারে। এই ক্ষেত্রে, Google এই বিভাগে দেখানো শেষ-জীবনের (EOL) তারিখ পর্যন্ত বর্ধিত সহায়তা প্রদান করে। যখন কার্নেলগুলি EOLed হয়, তখন সেগুলি আর Google দ্বারা সমর্থিত হয় না এবং সেগুলি চালানো ডিভাইসগুলিকে দুর্বল বলে মনে করা হয়৷
কার্নেল 6.6 দিয়ে শুরু করে, স্থিতিশীল কার্নেলের জন্য সমর্থন জীবনকাল 4 বছর।
এই টেবিলটি সমর্থিত ACK-এর জীবনকাল দেখায়:
ACK শাখা | লঞ্চ তারিখ | সমর্থন জীবনকাল (বছর) | ইওএল |
---|---|---|---|
android-4.19-স্থিতিশীল | 2018-10-22 | 6 | 2025-01-01 |
android11-5.4 | 2019-11-24 | 6 | 2026-01-01 |
android12-5.4 | 2019-11-24 | 6 | 2026-01-01 |
android12-5.10 | 2020-12-13 | 6 | 2027-07-01 |
android13-5.10 | 2020-12-13 | 6 | 2027-07-01 |
android13-5.15 | 2021-10-31 | 6 | 2028-07-01 |
android14-5.15 | 2021-10-31 | 6 | 2028-07-01 |
android14-6.1 | 2022-12-11 | 6 | 2029-07-01 |
android15-6.6 | 2023-10-29 | 4 | 2028-07-01 |
সাধারণ কার্নেল পরীক্ষা
সাধারণ কার্নেলগুলি বিক্রেতাদের দ্বারা ডাউনস্ট্রিম পরীক্ষার পাশাপাশি বেশ কয়েকটি CI সিস্টেমের সাথে পরীক্ষা করা হয়।
লিনাক্স কার্নেল কার্যকরী পরীক্ষা
লিনাক্স কার্নেল ফাংশনাল টেস্ট (LKFT) পরীক্ষাগুলি শারীরিক arm32 এবং arm64 ডিভাইসের সেটে kselftest, LTP, VTS, এবং CTS সহ বিভিন্ন টেস্ট স্যুট শুরু করে। সাম্প্রতিক পরীক্ষার ফলাফল এখানে পাওয়া যাবে.
কার্নেলসিআই পরীক্ষা
যখনই একটি সাধারণ কার্নেল শাখায় একটি নতুন প্যাচ প্রতিশ্রুতিবদ্ধ হয় তখনই KernelCI বিল্ড-এন্ড-বুট পরীক্ষা শুরু করা হয়। বিভিন্ন বোর্ডে কয়েকশো বিল্ড কনফিগারেশন পরীক্ষা করা হয় এবং বুট করা হয়। অ্যান্ড্রয়েড কার্নেলের সাম্প্রতিক ফলাফল এখানে পাওয়া যাবে।
অ্যান্ড্রয়েড প্রি-সাবমিট এবং পোস্ট সাবমিট টেস্টিং
প্রি-সাবমিট পরীক্ষাগুলি অ্যান্ড্রয়েড সাধারণ কার্নেলগুলিতে প্রবর্তিত হওয়া থেকে ব্যর্থতা প্রতিরোধ করতে ব্যবহৃত হয়। পরীক্ষার ফলাফলের সারাংশ অ্যান্ড্রয়েড সাধারণ কার্নেল গেরিটে কোড পরিবর্তনের 'চেকস' ট্যাবে পাওয়া যাবে।
যখন নতুন প্যাচ ci.android.com- এ একটি Android সাধারণ কার্নেল শাখায় প্রতিশ্রুতিবদ্ধ হয় তখন Android সাধারণ কার্নেল শাখায় নতুন প্রকাশিত বিল্ডগুলিতে Android পোস্টসাবমিট পরীক্ষা করা হয়। ci.android.com- এ একটি আংশিক শাখার নাম হিসাবে aosp_kernel
প্রবেশ করার মাধ্যমে, আপনি উপলব্ধ ফলাফল সহ কার্নেল শাখাগুলির একটি তালিকা দেখতে পাবেন। উদাহরণস্বরূপ, android-mainline
এর ফলাফল এখানে পাওয়া যাবে। একটি নির্দিষ্ট বিল্ডে ক্লিক করার সময়, আপনি Test Results
ট্যাবে পরীক্ষার স্থিতি দেখতে পাবেন।
অ্যান্ড্রয়েড প্ল্যাটফর্ম সোর্স ট্রি-তে টেস্ট গ্রুপ kernel-presubmit
সহ টেস্ট-ম্যাপিং দ্বারা সংজ্ঞায়িত পরীক্ষাগুলি অ্যান্ড্রয়েড কার্নেল শাখাগুলির জন্য প্রিসাবমিট হিসাবে চালানো হবে। উদাহরণ স্বরূপ test/vts/tests/kernel_proc_file_api_test/TEST_MAPPING- এ নিম্নলিখিত কনফিগারেশনটি Android সাধারণ কার্নেল কোড চেক-ইন-এ প্রিসবুমিট পরীক্ষা হিসাবে vts_kernel_proc_file_api_test সক্ষম করবে।
{
"kernel-presubmit": [
{
"name": "vts_kernel_proc_file_api_test"
}
]
}
0-দিনের পরীক্ষা
0-দিনের পরীক্ষা যখন নতুন প্যাচগুলি প্রতিশ্রুতিবদ্ধ হয় তখন সমস্ত Android সাধারণ কার্নেল শাখাগুলিতে প্যাচ-বাই-প্যাচ পরীক্ষা করে। বিভিন্ন বুট, কার্যকরী এবং কর্মক্ষমতা পরীক্ষা চালানো হয়। পাবলিক গ্রুপ ক্রস-কারনেল-বিল্ড রিপোর্টে যোগ দিন
টেস্ট ম্যাট্রিক্স
অ্যান্ড্রয়েড সাধারণ কার্নেল | অ্যান্ড্রয়েড প্ল্যাটফর্ম রিলিজ | টেস্ট স্যুট | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
প্রধান | 15 | 14 | 13 | 12 | 11 | 10 | এলকেএফটি | কার্নেলসিআই | প্রি জমা দিন | পোস্ট জমা দিন | 0-দিন | |
android-mainline | ✅ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ✅ | ✅ | ✅ | ✅ | ✅ |
android15-6.6 | ✅ | ✅ | ❌ | ❌ | ❌ | ❌ | ❌ | ✅ | ✅ | ✅ | ✅ | ✅ |
android14-6.1 | ✅ | ✅ | ✅ | ❌ | ❌ | ❌ | ❌ | ✅ | ✅ | ✅ | ✅ | ✅ | android13-5.15 | ✅ | ✅ | ✅ | ✅ | ❌ | ❌ | ❌ | ✅ | ✅ | ✅ | ✅ | ✅ |
android12-5.10 | ✅ | ✅ | ✅ | ✅ | ✅ | ❌ | ❌ | ✅ | ✅ | ✅ | ✅ | ✅ |
android11-5.4 | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ❌ | ✅ | ✅ | ✅ | ✅ | ✅ |
android-4.19-stable | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
Android সাধারণ কার্নেলগুলিতে অবদান রাখুন
সাধারণত, বৈশিষ্ট্য বিকাশ মেইনলাইন লিনাক্সে করা উচিত এবং অ্যান্ড্রয়েড সাধারণ কার্নেলে নয়। আপস্ট্রিম ডেভেলপমেন্টকে জোরালোভাবে উৎসাহিত করা হয়, এবং সেখানে ডেভেলপমেন্ট গৃহীত হওয়ার পরে, প্রয়োজন অনুসারে এটি সহজেই নির্দিষ্ট ACK শাখায় ব্যাকপোর্ট করা যেতে পারে। অ্যান্ড্রয়েড কার্নেল টিম অ্যান্ড্রয়েড ইকোসিস্টেমের সুবিধার জন্য আপস্ট্রিমিং প্রচেষ্টাকে সমর্থন করতে পেরে খুশি৷
Gerrit- এ প্যাচ জমা দিন এবং এই অবদান নির্দেশিকা মেনে চলুন।