মূল কার্নেলের প্রয়োজনীয়তা

Android 8.0 এবং উচ্চতর ম্যান্ডেট একটি ন্যূনতম কার্নেল সংস্করণ এবং কার্নেল কনফিগারেশন, যা ভেন্ডর টেস্ট স্যুট (VTS) এবং ওভার-দ্য-এয়ার (OTA) আপডেট দ্বারা যাচাই করা হয়। অ্যান্ড্রয়েড ডিভাইস কার্নেলগুলি অবশ্যই kernel .config সমর্থন সক্রিয় করতে হবে এবং procfs ফাইল সিস্টেমের মাধ্যমে রানটাইমে কার্নেল কনফিগারেশন পড়ার বিকল্প।

Kernel .config সমর্থন

সমস্ত ডিভাইস কার্নেলকে অবশ্যই android-base.cfg এর সম্পূর্ণতা সক্ষম করতে হবে, যাতে নিম্নলিখিত কার্নেল-কনফিগ বিকল্পগুলি (বা তাদের কার্নেল-সংস্করণ সমতুল্য):

CONFIG_IKCONFIG=y
CONFIG_IKCONFIG_PROC=y

কার্নেল সংস্করণ

Android 9-এর জন্য, ন্যূনতম লং টার্ম সাপোর্ট (LTS) কার্নেল সংস্করণের প্রয়োজনীয়তা হল 4.4.107, 4.9.84, এবং 4.14.42৷

  • 2018 সালে উৎপাদিত সমস্ত SoCs কার্নেল 4.9.84 বা উচ্চতর দিয়ে লঞ্চ করা আবশ্যক।
  • অ্যান্ড্রয়েড 9 চালিত অ্যান্ড্রয়েড ডিভাইসগুলি লঞ্চ করা অন্যান্য সমস্ত SoC গুলি অবশ্যই কার্নেল 4.4.107 বা উচ্চতর ব্যবহার করবে৷
  • 4.14 ভিত্তিক ডিভাইস কার্নেল অবশ্যই 4.14.42 বা উচ্চতর LTS রিলিজ অন্তর্ভুক্ত করবে।
  • লঞ্চের তারিখ নির্বিশেষে, Android 8.0 এবং উচ্চতর সংস্করণে লঞ্চ হওয়া ডিভাইস সহ সমস্ত SoCs Treble সক্ষম করার জন্য প্রয়োজনীয় কার্নেল পরিবর্তনের সাপেক্ষে থাকবে।
  • অ্যান্ড্রয়েড 8.0 বা উচ্চতর সংস্করণে আপগ্রেড করা পুরানো অ্যান্ড্রয়েড ডিভাইসগুলি তাদের মূল বেস কার্নেল সংস্করণ ব্যবহার করা চালিয়ে যেতে পারে।

এলটিএস কার্নেলের বিস্তারিত জানার জন্য, দীর্ঘমেয়াদী স্থিতিশীল কার্নেল এবং অ্যান্ড্রয়েড কমন কার্নেল দেখুন

ডিভাইসট্রি সমর্থন

যদি প্ল্যাটফর্মটি অ্যাডভান্সড কনফিগারেশন এবং পাওয়ার ইন্টারফেস (ACPI) স্পেসিফিকেশন সমর্থন না করে, তাহলে কার্নেলে ডিভাইসট্রি সমর্থন সক্রিয় করতে হবে এবং বুটলোডারদের অবশ্যই একটি ডিভাইস ট্রি আকারে হার্ডওয়্যার বিবরণ কার্নেলে পাঠাতে হবে। ডিভাইসট্রিটি অবশ্যই অ্যান্ড্রয়েড পড়ার জন্য উপলব্ধ হতে হবে এবং এটি অবশ্যই অ্যান্ড্রয়েডে বিক্রেতা- এবং ওডিএম-নির্দিষ্ট প্যারামিটারগুলি পাস করতে সক্ষম হবে। অন্যান্য সমস্ত ডিভাইস- এবং সাবসিস্টেম-নির্দিষ্ট CONFIG_OF_* কার্নেল কনফিগার বিকল্পগুলির সাথে CONFIG_OF বাধ্যতামূলক।

DebugFS ব্যবহার করুন

বিক্রেতা ইন্টারফেসের বাস্তবায়ন ডিবাগ তথ্য অ্যাক্সেস করতে DebugFS ফাইল সিস্টেমের উপর নির্ভর করতে পারে না। কারণ অ্যান্ড্রয়েড 7.0 থেকে 10-এ, DebugFS সক্ষম করা যেতে পারে , তবে DebugFS আনমাউন্ট করে ভিটিএস পরীক্ষা করা যেতে পারে।

অ্যান্ড্রয়েড 11-এ, DebugFS অ্যাক্সেস করা যাবে না বা প্রোডাকশন ডিভাইসে মাউন্ট করা যাবে না, তাই ডিভাইস নির্মাতাদের অবশ্যই এটি সরিয়ে ফেলতে হবে। Android 11 এর আগে, dumpstate DebugFS থেকে বাইন্ডার পরিসংখ্যান অ্যাক্সেস করেছিল। যেহেতু ব্যবহারকারী Android 11 বা উচ্চতর সংস্করণের সাথে লঞ্চ করা বিল্ডগুলি DebugFS অ্যাক্সেস করতে পারে না, dumpstate binderfs থেকে বাইন্ডার পরিসংখ্যান অ্যাক্সেস করে৷ Binderfs সক্রিয় করতে, কার্নেল কনফিগারেশন CONFIG_ANDROID_BINDERFS সক্রিয় করুন।

Android 11 এ, VTS এই দুটি প্রয়োজনীয়তা প্রয়োগ করে:

  • ডিভাইসের কার্নেল কনফিগারেশনে CONFIG_DEBUG_FS সক্ষম করা নেই।
  • DebugFS /proc/filesystems অধীনে তালিকাভুক্ত নয়।

Android 11 এ DebugFS

নিম্নলিখিত সারণী বর্ণনা করে যে এই তিনটি বিভাগের প্রতিটি কীভাবে Android 11-এ সমর্থিত। মনে রাখবেন যে নিম্নলিখিতগুলি শুধুমাত্র userdebug বিল্ডের ক্ষেত্রে প্রযোজ্য কারণ ব্যবহারকারী বিল্ডে DebugFS মাউন্ট করা যায় না। অ্যান্ড্রয়েড 11-এ লঞ্চ হওয়া ডিভাইসগুলির জন্য ব্যবহারকারী বিল্ডে কখনই DebugFS মাউন্ট করবেন না

কেস ব্যবহার করুন অ্যান্ড্রয়েড 11 ইউজারডিবাগ বিল্ড
স্টার্টআপের সময় এক-সময়ের DebugFS ফাইল আরম্ভ । এই অ্যাক্সেস বুট সময় শুধুমাত্র একবার ঘটবে . বিক্রেতা init এটি করে।
বাগ রিপোর্ট জেনারেশন : ডাম্পস্টেট HAL DebugFS ফাইলগুলি পড়ে, যা বাগ রিপোর্টের অংশ হয়ে ওঠে। ডাম্পস্টেট টুল দ্বারা আহ্বান করা হলে DumpstateBoard() এর মধ্যে ডাম্পস্টেট HAL দ্বারা সম্পন্ন হয়।
ডিভাইস-নির্দিষ্ট পরীক্ষা এবং বৈধতা অ্যাডবি রুট এবং শেল