অ্যান্ড্রয়েড কার্নেল প্রায়শই জিজ্ঞাসিত প্রশ্ন

এই নথিতে Android কার্নেল সম্পর্কে প্রায়শই জিজ্ঞাসিত প্রশ্ন রয়েছে, যা জেনেরিক কার্নেল ইমেজ (GKI) কার্নেল নামেও পরিচিত৷ আপনি যদি GKI এবং GKI কার্নেল পরিভাষার সাথে অপরিচিত হন, তাহলে কার্নেল ওভারভিউ পড়ুন।

কার্নেল মডিউল ইন্টারফেস (KMI) প্রতীক তালিকা একটি স্থিতিশীল কার্নেলে পরিবর্তন করা যেতে পারে?

বিদ্যমান KMI-কে প্রভাবিত করে না এমন পরিবর্তনগুলি হিমায়িত কার্নেলে যোগ করা যেতে পারে। এই পরিবর্তনগুলির মধ্যে নতুন রপ্তানিকৃত ফাংশন এবং প্রতীক তালিকা এন্ট্রি অন্তর্ভুক্ত রয়েছে। বিস্তারিত জানার জন্য, প্রতীক তালিকা পরিচালনা দেখুন।

আমি কি একটি স্থিতিশীল কার্নেলে বিক্রেতা মডিউল দ্বারা ব্যবহৃত কাঠামো পরিবর্তন করতে পারি?

একটি KMI ইন্টারফেসের অংশ এমন স্ট্রাকচারগুলিকে হিমায়িত KMI দিয়ে কার্নেলে পরিবর্তন করা যাবে না। KMI হিমায়িত করার আগে, এই কাঠামো পরিবর্তন করা যেতে পারে।

যতক্ষণ না আমি বাইনারি/সোর্স সামঞ্জস্য না ভাঙি ততক্ষণ আমি কি কার্নেল পরিবর্তন করতে পারি?

যে পরিবর্তনগুলি KMI কে প্রভাবিত করে না সেগুলি Android-নির্দিষ্ট প্যাচগুলিতে বর্ণিত হিসাবে করা যেতে পারে৷

কিভাবে GKI কার্নেল কনফিগারেশন পরিচালনা করে?

কার্নেল কনফিগারেশন সম্পর্কে তথ্যের জন্য, gki_defconfig-তে পরিবর্তনগুলি পড়ুন।

বিদ্যমান GKI মডিউলগুলিতে ওভাররাইট করার জন্য আমি কীভাবে আপস্ট্রিম বাগ ফিক্সগুলি পরিচালনা করব?

আপনি যদি অ্যান্ড্রয়েড কমন কার্নেল (ACK) এ ড্রাইভারের উপর ভিত্তি করে একটি ভেন্ডর মডিউল তৈরি করেন, তাহলে আপস্ট্রিম এবং ACK থেকে বাগ ফিক্সগুলি আপনার মডিউলে প্রচার করা হয়েছে তা নিশ্চিত করা আপনার উপর নির্ভর করে। সাধারণত, GKI কার্নেল এবং GKI মডিউলগুলি পরিবর্তন ছাড়াই ব্যবহার করা আপনার সর্বোত্তম স্বার্থে তাই এই আপডেটগুলি Google দ্বারা ধারাবাহিকভাবে প্রদান করা হয়৷

GKI নির্দিষ্ট পরীক্ষা আছে কি?

ভেন্ডর টেস্ট স্যুট (VTS) পরীক্ষা রয়েছে যা যাচাই করে যে একটি প্রত্যয়িত GKI বিল্ড ইনস্টল করা হয়েছে এবং প্রতি-রিলিজ GKI প্রয়োজনীয়তাগুলি প্রয়োগ করার জন্য। উদাহরণস্বরূপ, বুট হেডার v3 এর জন্য এবং 5.10 কার্নেল চালিত একটি ডিভাইসে প্রয়োজনীয় পার্টিশনের অস্তিত্ব যাচাই করার জন্য Android 12 VTS পরীক্ষা রয়েছে।

আমি কিভাবে ডিভাইস বিল্ডের জন্য প্রকল্প defconfig খণ্ড ফাইল তৈরি করব?

বিক্রেতা মডিউলগুলি তৈরি করতে, gki_defconfig ছাড়াও প্রয়োজনীয় কনফিগারেশন বিকল্পগুলি বর্ণনা করার জন্য অনেক GKI- সম্মতিযুক্ত ডিভাইস একটি কনফিগারেশন ফ্র্যাগমেন্ট ব্যবহার করে। থার উদাহরণ হল ACK কোড বেসের অংশ হল Cuttlefish এবং DB845c। ফ্র্যাগমেন্ট অপ্টিমাইজ করার জন্য কনফিগারেশন বিকল্পগুলির কিছু ম্যানুয়াল পরীক্ষা এড়ানোর কোন উপায় নেই, তবে কার্নেল উত্স থেকে scripts/diffconfig gki_defconfig এবং gki_defconfig+device.fragment এর ফলাফল তুলনা করার জন্য দরকারী।

মোডপ্রোবের চিকিৎসার জন্য কি কোনো সমাধান আছে - এবং _কে সমতুল্য?

modprobe ম্যান পৃষ্ঠায় এই বিবরণ রয়েছে: " modprobe বুদ্ধিমত্তার সাথে Linux কার্নেল থেকে একটি মডিউল যোগ করে বা সরিয়ে দেয়: মনে রাখবেন যে সুবিধার জন্য, মডিউল নামের মধ্যে _ এবং - এর মধ্যে কোন পার্থক্য নেই (স্বয়ংক্রিয় আন্ডারস্কোর রূপান্তর করা হয়)।" GKI টিম স্ট্যান্ডার্ড আপস্ট্রিম কনভেনশন মেনে চলে, তাই ভেন্ডর টুল বা মডিউল নামকরণ কনভেনশনগুলিকে অবশ্যই এই আনুগত্য বিবেচনায় নিতে হবে।

আমি কিভাবে অভ্যন্তরীণ ব্যবহারের জন্য debugf সক্রিয় করতে পারি?

debugf সক্রিয় করার বিষয়ে বিস্তারিত জানার জন্য, অনুপ্রবেশকারী ডাউনস্ট্রিম ডিবাগ বৈশিষ্ট্য দেখুন।

আমি কীভাবে একটি নির্দিষ্ট মডিউল কনফিগারেশন সক্ষম করে GKI কার্নেলের মধ্যে অমিল ABI গুলি সমাধান করতে পারি?

GKI কার্নেল এবং মডিউল কনফিগারেশনের মধ্যে অমিল ABIs একটি অন্তর্নিহিত মডিউল কনফিগারেশন নির্ভরতাকে উপস্থাপন করে, যেখানে একটি মডিউল সক্রিয় করার ফলে কার্নেল ইমেজে একটি বাইনারি কনফিগারেশন তৈরি করা হয়। এগিয়ে যাওয়ার পথ নির্ধারণ করতে Android কার্নেল টিমের ( kernel-team@android.com ) সাথে যোগাযোগ করুন৷ চিহ্নগুলির তালিকা নির্ধারিত হওয়ার পরে, ইস্যু ট্র্যাকারে একটি বাগ তৈরি করুন এবং প্রতীক তালিকায় একটি পরিবর্তন আপলোড করুন।

অ্যান্ড্রয়েড 11 এবং 12 এর সাথে চালু হওয়া 5.4 কার্নেল চালানোর ক্ষেত্রে আমার কাছে GKI 1.0 সম্মত ডিভাইস রয়েছে। কোন কার্নেল আপগ্রেড বিকল্পগুলি উপলব্ধ আছে এবং Android 12 এবং 13-এ আপগ্রেড করার সময় আমি কীভাবে এই ডিভাইসগুলি পরীক্ষা করতে পারি?

লঞ্চ এবং আপগ্রেড সংস্করণের জন্য সমর্থিত কার্নেল সংস্করণগুলির একটি তালিকার জন্য সামঞ্জস্যতা ম্যাট্রিক্স পড়ুন। এখানে দুটি আপগ্রেড উদাহরণ আছে.

উদাহরণ 1: android11-5.4 কার্নেল ( GKI 1.0 ) সহ Android 11-এর সাথে চালু হওয়া ডিভাইস সহ একজন ব্যবহারকারী Android 12-এ আপগ্রেড করার সময় এই বিকল্পগুলির যে কোনও একটি বেছে নিতে পারেন:

  • android12-5.10 GKI 2.0 কার্নেলে আপগ্রেড করুন (দৃঢ়ভাবে প্রস্তাবিত)।

  • android11-5.4 কার্নেল রাখুন।

  • android12-5.4 কার্নেলে আপগ্রেড করুন।

উদাহরণ 2: অ্যান্ড্রয়েড 12-এর সাথে Android 12-এর সাথে লঞ্চ করা ডিভাইসের একজন ব্যবহারকারী android12-5.4 বা android12-5.10 কার্নেলের সাথে Android 13-এ আপগ্রেড করার সময় এই বিকল্পগুলির যেকোনো একটি বেছে নিতে পারেন:

  • android13-5.10 বা android13-5.15 GKI 2.0 কার্নেলে আপগ্রেড করুন (দৃঢ়ভাবে প্রস্তাবিত)।

  • android12-5.4 GKI 1.0 কার্নেল রাখুন।

  • android12-5.10 GKI 2.0 কার্নেল রাখুন।

বিশেষত ট্রেবল সম্মতি পরীক্ষার জন্য, আমরা আপনাকে নিম্নলিখিতগুলির মধ্যে একটি করার পরামর্শ দিই:

  • সার্টিফাইড GKI 1.0 কার্নেল ( android11-5.4 বা android12-5.4 ) দিয়ে অংশীদার কার্নেল প্রতিস্থাপন করুন।

  • আপনার নির্বাচনের উপর নির্ভর করে প্রত্যয়িত GKI 2.0 কার্নেল ( android12-5.10 , android13-5.10 , বা android13-5.15 ) সহ শিপ করুন৷

আপনি জেনেরিক কার্নেল ইমেজ (GKI) রিলিজ বিল্ড থেকে GKI 2.0 বিল্ড ডাউনলোড করতে পারেন।