এই পৃষ্ঠায় GKI কীভাবে প্রকাশিত হয় তা বর্ণনা করা হয়েছে, যার মধ্যে সাপ্তাহিক, ত্রৈমাসিক এবং ব্যান্ডের বাইরের জরুরি রিলিজ অন্তর্ভুক্ত রয়েছে। এই নথির লক্ষ্য হল OEM-গুলিকে GKI কোথা থেকে সংগ্রহ করতে হবে এবং ব্যান্ডের বাইরের জরুরি সমাধানের প্রক্রিয়া সম্পর্কে একটি নির্দেশিকা দেওয়া। OEM-রা তাদের পণ্যের জন্য GKI কার্নেল অপ্টিমাইজ করার জন্য Android কার্নেল টিমের সাথে কীভাবে কাজ করতে পারে সে সম্পর্কে আরও জানতে GKI ডেভেলপমেন্ট ব্যবহার করতে পারে।
GKI রিলিজ ক্যাডেন্স
KMI ফ্রিজের পরে GKI ত্রৈমাসিক ক্যাডেন্সে প্রকাশিত হয়।
মুক্তির মাস | a12-5.10 সম্পর্কে | a13-5.10 সম্পর্কে | a13-5.15 সম্পর্কে | a14-5.15 সম্পর্কে | a14-6.1 সম্পর্কে | a15-6.6 সম্পর্কে | a16-6.12 সম্পর্কে | |
---|---|---|---|---|---|---|---|---|
জুন ২০২৫ | চেক-ইন বন্ধ GKI প্রিলোড প্রস্তুত | ১৬ জুন ৩০ জুন | ২ জুন ১৬ জুন | ২ জুন ১৬ জুন | ২ জুন ১৮ জুন | |||
জুলাই ২০২৫ | চেক-ইন বন্ধ GKI প্রিলোড প্রস্তুত | ১৬ জুলাই ৩১ জুলাই | ১৬ জুলাই ৩১ জুলাই | ১৬ জুলাই ৩১ জুলাই | ১ জুলাই ১৫ জুলাই | ১ জুলাই ১৫ জুলাই | ১ জুলাই ১৫ জুলাই | |
আগস্ট ২০২৫ | চেক-ইন বন্ধ GKI প্রিলোড প্রস্তুত | ১ আগস্ট ১৫ আগস্ট | ১ আগস্ট ১৫ আগস্ট | ১ আগস্ট ১৫ আগস্ট | ||||
সেপ্টেম্বর ২০২৫ | চেক-ইন বন্ধ GKI প্রিলোড প্রস্তুত | ১৬ সেপ্টেম্বর* ৩০ সেপ্টেম্বর* | ১৬ সেপ্টেম্বর ৩০ সেপ্টেম্বর | ১ সেপ্টেম্বর ১৫ সেপ্টেম্বর | ১ সেপ্টেম্বর ১৫ সেপ্টেম্বর | ১ সেপ্টেম্বর ১৫ সেপ্টেম্বর | ||
অক্টোবর ২০২৫ | চেক-ইন বন্ধ GKI প্রিলোড প্রস্তুত | ১৬ অক্টোবর ৩১ অক্টোবর | ১ অক্টোবর ১৫ অক্টোবর | ১ অক্টোবর ১৫ অক্টোবর | ||||
নভেম্বর ২০২৫ | চেক-ইন বন্ধ GKI প্রিলোড প্রস্তুত | |||||||
ডিসেম্বর ২০২৫ | চেক-ইন বন্ধ GKI প্রিলোড প্রস্তুত | ১ ডিসেম্বর ১৫ ডিসেম্বর | ১ ডিসেম্বর* ১৫ ডিসেম্বর* | ১ ডিসেম্বর ১৫ ডিসেম্বর | ১ ডিসেম্বর ১৫ ডিসেম্বর |
OEM-এর জন্য GKI বিল্ড বৈধতা
OEM গুলি সম্প্রতি প্রকাশিত Android GKI ব্যবহার করতে পারে। OEM গুলি GKI-প্রত্যয়িত বিল্ডগুলির সাথে লঞ্চ করতে পারে যতক্ষণ না তারা Android নিরাপত্তা বুলেটিনে (ASB) LTS প্রয়োজনীয়তাগুলি মেনে চলে।
ত্রৈমাসিক সার্টিফাইড রিলিজ
GKI ত্রৈমাসিক রিলিজে একটি পরীক্ষিত boot.img
থাকে যার মধ্যে একটি Google-এর দ্বারা সন্নিবেশিত সার্টিফিকেট থাকে যা প্রমাণ করে যে বাইনারিগুলি একটি পরিচিত সোর্স কোড বেসলাইন থেকে তৈরি করা হয়েছে।
প্রতি ত্রৈমাসিকে, চেক-ইন কাট অফ ডেটের পরে একটি GKI ত্রৈমাসিক রিলিজ প্রার্থী (প্রত্যয়িত নয়) নির্বাচন করা হয়, যা সাধারণত সেই মাসের দ্বিতীয় সাপ্তাহিক বিল্ড। ত্রৈমাসিক রিলিজ প্রার্থী নির্বাচিত হওয়ার পরে, সেই মাসের রিলিজে নতুন পরিবর্তনগুলি গ্রহণ করা হবে না। বন্ধ উইন্ডো সময়কালে, শুধুমাত্র পরীক্ষার ব্যর্থতার কারণ হওয়া বাগগুলির সমাধান করা যেতে পারে। রিলিজ প্রার্থী গুণমানের নিশ্চয়তার মধ্য দিয়ে যায় - যেমনটি GKI যোগ্যতা বিভাগে বর্ণিত হয়েছে - যাতে একটি রেফারেন্স ডিভাইসের পাশাপাশি কাটলফিশ সহ GSI+GKI বিল্ডে সম্মতি পরীক্ষাগুলি পাস হয় তা নিশ্চিত করা যায়।
চিত্র ১. GKI প্রকাশের সময়রেখা
জরুরি রেসপিন প্রক্রিয়া
রেস্পিন বলতে GKI কার্নেলের পাবলিক রিলিজের পর একটি বাইনারি পুনরায় মার্জ, পুনর্নির্মাণ, পুনরায় পরীক্ষা এবং পুনঃপ্রত্যয়ন প্রক্রিয়া বোঝায়। আপনি নিম্নলিখিত যেকোনো পরিস্থিতিতে একটি সার্টিফাইড বাইনারি রেস্পিনের অনুরোধ করতে পারেন:
- একটি প্রতীক তালিকা আপডেট করতে।
- ক্যারিয়ার ল্যাব অনুমোদনের সময় পাওয়া বাগ সহ একটি বাগের সমাধান প্রয়োগ করতে।
- একটি বিক্রেতা হুক যোগ করতে।
- একটি বিদ্যমান বৈশিষ্ট্যে একটি প্যাচ প্রয়োগ করতে।
- একটি নিরাপত্তা প্যাচ প্রয়োগ করতে (৬ মাস পরে)।
শাখা প্রকাশের পর ৬ মাস পর্যন্ত নিরাপত্তা প্যাচগুলি স্বয়ংক্রিয়ভাবে একটি রিলিজ শাখায় মার্জ হয়ে যায়। ৬ মাসের কাটঅফের পরে, একটি শাখায় নিরাপত্তা প্যাচ প্রয়োগ করার জন্য আপনাকে একটি রেস্পিনের অনুরোধ করতে হবে।
রেস্পিন অনুরোধ নির্দেশিকা
রেস্পিনের অনুরোধ করার আগে, নিম্নলিখিত নির্দেশিকাগুলি মনে রাখবেন:
ত্রৈমাসিক বিল্ডের প্রাথমিক পাবলিক রিলিজ চালু হওয়ার পরে শুধুমাত্র রিলিজ শাখাগুলিতে রেসপিন অনুমোদিত।
প্রাথমিক পাবলিক রিলিজের পর সর্বোচ্চ ছয় মাসের জন্য শুধুমাত্র একটি নির্দিষ্ট রিলিজ শাখার জন্য রেস্পিন অনুরোধ গ্রহণ করা হয়। ছয় মাস পরে, শাখাগুলি শুধুমাত্র অ্যান্ড্রয়েড সিকিউরিটি বুলেটিনে উদ্ধৃত সুরক্ষা প্যাচগুলির জন্য রেস্পিনের জন্য যোগ্য।
যখন অ্যান্ড্রয়েড সিকিউরিটি বুলেটিন (ASB) দ্বারা সংজ্ঞায়িত LTS প্রয়োজনীয়তাগুলি শাখাটিকে অসঙ্গতিপূর্ণ করে তোলে, তখন শাখাটি অবচিত হয়। অবচিত শাখাগুলির জন্য Respin অনুরোধ গ্রহণ করা হয় না। প্রদত্ত GKI রিলিজ শাখার অবচিতির তারিখ Releases এর অধীনে ত্রৈমাসিক GKI রিলিজ বিল্ড নোটে অন্তর্ভুক্ত করা হয়। ভবিষ্যতের পরিকল্পনার জন্য, LTS প্রয়োজনীয়তাগুলি প্রতি বছর মে এবং নভেম্বর মাসে আপডেট করা হয়। উদাহরণস্বরূপ,
android12-5.10-2023-07
শাখা (5.10.177) 1 মে, 2024 এর পরে respin এর জন্য সমর্থিত নয়, কারণandroid12-5.10-2023-07
শাখা (5.10.177) ASB-2024-05 এর LTS প্রয়োজনীয়তাগুলি মেনে চলে না।রেসপিনগুলি শুধুমাত্র জরুরি বাগ সংশোধন, প্রতীক তালিকা আপডেট, অথবা বিদ্যমান বৈশিষ্ট্য ঠিক করার জন্য প্যাচ প্রয়োগের ক্ষেত্রে প্রযোজ্য।
ত্রৈমাসিক রিলিজ শাখায় যাওয়া সমস্ত প্যাচগুলি ইতিমধ্যেই মূল GKI ডেভেলপমেন্ট শাখায় মার্জ করতে হবে। উদাহরণস্বরূপ, যদি
android12-5.10-2022-09
এর রেস্পিনের জন্য একটি প্যাচ প্রয়োজন হয়, তবে এটি ইতিমধ্যেইandroid12-5.10
এ মার্জ করতে হবে।আপনাকে অবশ্যই প্রধান GKI ডেভেলপমেন্ট শাখা থেকে প্যাচগুলি বেছে নিতে হবে এবং প্যাচটি ত্রৈমাসিক রিলিজ শাখায় আপলোড করতে হবে।
রেস্পিন অনুরোধে, আপনাকে অনুরোধের জন্য একটি অগ্রাধিকার (জরুরি) নির্ধারণ করতে হবে। এই অগ্রাধিকার GKI টিমকে সময়মত অংশীদারদের আরও ভালভাবে সহায়তা করতে সহায়তা করে। গুরুত্বপূর্ণ বা সময়-সংবেদনশীল অনুরোধের জন্য, অগ্রাধিকার P0 হিসাবে চিহ্নিত করুন। P0 এবং P1 অনুরোধের জন্য, আপনাকে জরুরিতাও ন্যায্যতা দিতে হবে। নিম্নলিখিত টেবিলটি বাগ অগ্রাধিকার এবং সমাধানের সময় (ESRT) এর একটি ম্যাপিং প্রদান করে:
অগ্রাধিকার ইএসআরটি পৃ.০ ২ কার্যদিবস পৃ ১ ৫ কর্মদিবস P2 সম্পর্কে ১০ কার্যদিবস P3 সম্পর্কে ১৫ কার্যদিবস
প্রতিটি রিলিজ শাখার জন্য আপনাকে একটি পৃথক রেস্পিন অনুরোধ জমা দিতে হবে। উদাহরণস্বরূপ, যদি
android12-5.10-2022-08
এবংandroid12-5.10-2022-09
উভয়ের জন্য একটি রেস্পিন প্রয়োজন হয়, তাহলে আপনাকে দুটি রেস্পিন অনুরোধ তৈরি করতে হবে।একটি বিল্ড প্রদান করা হয়ে গেলে এবং একটি রেস্পিন অনুরোধ স্থির হিসেবে চিহ্নিত হয়ে গেলে, অতিরিক্ত CL যোগ করার জন্য রেস্পিন অনুরোধটি পুনরায় খোলা উচিত নয়। যদি অতিরিক্ত প্যাচগুলি মার্জ করার প্রয়োজন হয় তবে আপনাকে একটি নতুন রেস্পিন অনুরোধ জমা দিতে হবে।
বিবেচনাধীন প্রতিটি CL-এর জন্য, নিম্নলিখিত ট্যাগগুলি যোগ করুন।
-
Bug
: প্রতিটি CL-এর জন্য কমিট মেসেজে বাগ আইডি যোগ করতে হবে। -
Change-Id
: বেস শাখা পরিবর্তনের পরিবর্তন-আইডির অনুরূপ হতে হবে।
-
যদি কোনও রেস্পিন অনুরোধের জন্য আপনার প্রতিক্রিয়া প্রয়োজন হয় এবং আপনি তিন কর্মদিবসের মধ্যে প্রতিক্রিয়া না জানান, তাহলে অগ্রাধিকারটি একটি স্তর দ্বারা ডাউনগ্রেড করা হয় (উদাহরণস্বরূপ, P0 P1 এ ডাউনগ্রেড করা হয়)। যদি আপনি দুই সপ্তাহ ধরে প্রতিক্রিয়া না জানান, তাহলে বাগটি Won't Fix (Obsolete) হিসাবে চিহ্নিত করা হয়।
একটি রেস্পিন অনুরোধ জমা দিন
নিচের চিত্রটিতে রেস্পিন প্রক্রিয়াটি দেখানো হয়েছে। প্রক্রিয়াটি শুরু হয় যখন OEM অংশীদার (আপনি) রেস্পিন অনুরোধ জমা দেন।
চিত্র ২। রেস্পিন প্রক্রিয়া
রেস্পিন প্রক্রিয়ায় প্রবেশ করতে:
- GKI Respin অনুরোধ ফর্মটি পূরণ করুন । এবং অবিলম্বে আপনার Google টেকনিক্যাল অ্যাকাউন্ট ম্যানেজারের সাথে যোগাযোগ করুন। এই ফর্মটি একটি GKI respin অনুরোধ বাগ তৈরি করে। Respin অনুরোধ বাগগুলি আপনি (অনুরোধকারী), GKI টিম এবং আপনি যাদের বাগের CC তালিকায় যোগ করেন তাদের কাছে দৃশ্যমান।
- যদি আপনার ইতিমধ্যেই কোনও সমাধান থাকে, তাহলে অনুরোধটি AOSP-তে প্যাচ জমা দেওয়ার দিকে নির্দেশ করা উচিত যাতে Google এটি পর্যালোচনা করতে পারে। যদি প্যাচ জমা দেওয়া সম্ভব না হয়, তাহলে প্যাচটি অনুরোধের সাথে একটি টেক্সট ফাইল হিসাবে সংযুক্ত করতে হবে।
- যদি আপনার কাছে কোনও সমাধান না থাকে, তাহলে অনুরোধে কার্নেল সংস্করণ নম্বর এবং লগ সহ যতটা সম্ভব তথ্য থাকতে হবে, যাতে Google সমস্যাটি ডিবাব করতে সাহায্য করতে পারে।
- গুগল জিকেআই টিম অনুরোধটি পর্যালোচনা করে এবং অনুমোদন করে অথবা আরও তথ্যের প্রয়োজন হলে এটি আপনাকে ফেরত দেয়।
- কোনও সমাধানের বিষয়ে একমত হওয়ার পর, Google GKI টিম কোড পর্যালোচনা (CR+2) করে পরিবর্তনটি। পর্যালোচনাটি ESRT সময়সীমা শুরু করে। GKI টিম মার্জ করে, তৈরি করে, রিগ্রেশন পরীক্ষা করে এবং পরিবর্তনটি প্রত্যয়িত করে।
- বাইনারিটি ci.android.com- এ প্রকাশ করা হয়। ESRT সময়সীমা শেষ হয়ে যায় এবং Google GKI টিম অনুরোধটিকে স্থির হিসাবে চিহ্নিত করে এবং রেস্পিন বিল্ডটি উল্লেখ করে। রেস্পিন বিল্ডটি জেনেরিক কার্নেল ইমেজ (GKI) রিলিজ বিল্ড পৃষ্ঠায়ও পোস্ট করা হয়।
জিকেআই যোগ্যতা
GKI বিল্ডের প্রকারভেদ | মান প্রয়োগ | মন্তব্য |
---|---|---|
সাপ্তাহিক | কাটলফিশ পরীক্ষা
|
|
ত্রৈমাসিক (প্রত্যয়িত) | কাটলফিশ পরীক্ষা
| |
রেসপিন (প্রত্যয়িত) | কাটলফিশ পরীক্ষা
|
|
নির্মাণ শিল্পকর্ম কোথায় পাওয়া যাবে
সমস্ত প্রকাশের জন্য নিদর্শনগুলি ci.android.com থেকে পাওয়া যাবে।
আপনি অ্যান্ড্রয়েড কন্টিনিউয়াস ইন্টিগ্রেশন ড্যাশবোর্ডে পরীক্ষার ফলাফল সহ CI সম্পর্কে আরও তথ্য পেতে পারেন।
প্রায়শই জিজ্ঞাসিত প্রশ্নাবলী
GKI প্রকাশ প্রক্রিয়া সম্পর্কিত কিছু প্রায়শই জিজ্ঞাসিত প্রশ্ন এখানে দেওয়া হল।
ইতিমধ্যে প্রকাশিত GKI-এর উপর ভিত্তি করে কি নতুন GKI বাইনারি তৈরি করা সম্ভব?
হ্যাঁ, এটিকে রেস্পিন বলা হয়। রেস্পিন প্রক্রিয়াটি ততক্ষণ পর্যন্ত সমর্থিত হবে যতক্ষণ পর্যন্ত প্রকাশিত GKI বিল্ড (যার উপর রেস্পিন অনুরোধ করা হয়েছে) অ্যান্ড্রয়েড সিকিউরিটি বুলেটিনে (ASB) LTS প্রয়োজনীয়তার সাথে সঙ্গতিপূর্ণ।
GKI বাইনারি পুনরুৎপাদন করা কি সম্ভব?
হ্যাঁ, এখানে একটি উদাহরণ দেওয়া হল:
GKI 2.0
5.10 kernel prebuilts from build 7364300
https://ci.android.com/builds/submitted/7364300/kernel_aarch64/latest
উদাহরণটি পুনরুৎপাদন করতে, manifest_$id.xml
ডাউনলোড করুন এবং নিম্নলিখিত কমান্ডটি কার্যকর করুন:
repo init -u https://android.googlesource.com/kernel/manifest
mv manifest_7364300.xml .repo/manifests
repo init -m manifest_7364300.xml --depth=1
repo sync # build the GKI images # You may want to use LTO=thin to build faster for development
BUILD_CONFIG=common/build.config.gki.aarch64 build/build.sh # (optional) build virtual platform modules
BUILD_CONFIG=common-modules/virtual-device/build.config.virtual_device.aarch64 build/build.sh
আপনি out/.../dist
থেকে আপনার GKI আর্টিফ্যাক্ট কপিটি পুনরুদ্ধার করতে পারেন।
GKI বাইনারি (জরুরি স্পিন প্যাচ সহ) কি সর্বশেষ কোডবেসের উপর নির্মিত হয়েছে?
না। রেস্পিনগুলিতে কেবল সেই প্যাচ থাকে যা নির্বাচিত ত্রৈমাসিক সার্টিফাইড কার্নেলের উপরে থাকে। এই রেস্পিনগুলিতে সমস্ত লঞ্চ ব্লকিং বাগ ফিক্স থাকে যা OEM দ্বারা সংশ্লিষ্ট বেস ত্রৈমাসিক রিলিজ ব্যবহার করে যে কোনও সময় পর্যন্ত রিপোর্ট করা হয়। এই ধরণের পরিস্থিতি কীভাবে ঘটে তার নিম্নলিখিত উদাহরণটি দেখুন।
- OEM1 এবং OEM2 নভেম্বর ২০২১ থেকে GKI বাইনারি রিলিজ ব্যবহার করার সিদ্ধান্ত নিয়েছে।
- OEM1 এবং OEM2 এমন সমস্যা খুঁজে পায় যেখানে সাপোর্টের জন্য প্যাচের প্রয়োজন হয়। এই প্যাচগুলি ভিন্ন হতে পারে অথবা একই রকম হতে পারে।
- নভেম্বর ২০২১ বাইনারির উপরের রেস্পিনগুলিতে রেস্পিন উইন্ডো চলাকালীন OEM1 এবং OEM2 উভয়ের দ্বারা লঞ্চ ব্লকিং ফিক্স রিপোর্ট করা হয়েছে, তবে এর বেশি কিছু নয়।
- দ্বিতীয় বুলেটে উল্লিখিত বিষয়গুলি পরবর্তী GKI ত্রৈমাসিক প্রকাশগুলিতেও অন্তর্ভুক্ত করা হয়েছে।
অক্টোবর রেস্পিনে সমস্ত OEM জমা দেওয়া প্যাচ রয়েছে, কিন্তু অন্যান্য OEM প্যাচগুলি আমাদের প্রভাবিত করে, কারণ সেগুলি আমাদের পণ্যগুলির সাথে বিশেষভাবে পরীক্ষা করা হয়নি। শুধুমাত্র আমাদের প্যাচ অন্তর্ভুক্ত করা কি সম্ভব?
এটা সম্ভব নয়। "প্রতি-OEM" রেস্পিন পাথ স্কেলেবল নয়। পরিবর্তে, GKI টিম রেস্পিন বিল্ডে আসা প্রতিটি পরিবর্তন পরীক্ষা করে এবং একটি নতুন বিল্ড তৈরি করার আগে সমস্ত উপলব্ধ হার্ডওয়্যার দিয়ে পরিবর্তনগুলি পরীক্ষা করে। যদি GKI টিম দেখতে পায় যে সমস্যাটি একটি OEM, ডিভাইস বা মডেলের জন্য নির্দিষ্ট, তাহলে GKI টিম নিশ্চিত করতে পারে যে পরিবর্তনের মাধ্যমে যোগ করা কোডটি শুধুমাত্র প্রভাবিত ডিভাইস, মডেল বা SKU-তে কার্যকর হয়।
ইউনিফাইড রেস্পিনের প্রধান সুবিধা হল যে একই রিলিজ বেস ব্যবহার করা প্রতিটি ডিভাইস একে অপরের থেকে উপকৃত হয়, বিশেষ করে যদি তারা যে বাগগুলি আবিষ্কার করে তা জেনেরিক হয় এবং সমস্ত ব্যবহারকারীর জন্য প্রযোজ্য হয়। ক্যারিয়ার পরীক্ষায় পাওয়া কোর কার্নেল বাগগুলি এই ধারণার একটি নির্দিষ্ট উদাহরণ।
এমন কি এমন পরিস্থিতি আছে যেখানে Google OEM প্যাচ এবং সমস্যা পরিস্থিতি সম্পর্কে নির্দিষ্ট তথ্য সরবরাহ করে, যাতে OEM তাদের পণ্যের সাথে প্যাচগুলি প্রয়োগের প্রভাব এবং ঝুঁকি মূল্যায়ন করতে পারে?
সমস্যাটি বোঝা না যাওয়া এবং সমস্ত বিবরণ সংগ্রহ না করা পর্যন্ত Google কখনই রেস্পিন বিল্ডে কোনও পরিবর্তন যোগ করবে না। এটি চেঞ্জলগে (কমিট মেসেজ) দেখা যায়। গুগল কোন নির্দিষ্ট ডিভাইসটিকে প্রভাবিত করে তা প্রকাশ করে না, তবে OEM গুলি সর্বদা চেঞ্জলগে সমস্যার বিবরণ এবং সমাধান খুঁজে পেতে পারে।