Google is committed to advancing racial equity for Black communities. See how.
This page was translated by the Cloud Translation API.
Switch to English

লিনাক্স-স্থিতিশীল মার্জগুলি

প্রতিদিন একটি উল্লেখযোগ্য সংখ্যক পরিবর্তন আপস্ট্রিম লিনাক্স কার্নেলের কাছে প্রতিশ্রুতিবদ্ধ হয়। এই পরিবর্তনগুলি সাধারণত সুরক্ষা প্রভাবের জন্য মূল্যায়ন করা হয় না, তবে তাদের অনেকের মধ্যে কার্নেলের সুরক্ষা প্রভাবিত করার সম্ভাবনা রয়েছে। সুরক্ষা প্রভাবের জন্য এই প্রতিটি পরিবর্তনের মূল্যায়ন করা একটি ব্যয়বহুল এবং সম্ভবত অসমর্থ অপারেশন। পরিবর্তে আরও স্থিতিশীল এবং রক্ষণাবেক্ষণযোগ্য পন্থাটি হ'ল আপস্ট্রিম লিনাক্স কার্নেলের সাথে নিয়মিত পরিবর্তনগুলি সিঙ্ক করা।

নতুন লং টার্ম সাপোর্টেড (এলটিএস) কার্নেল সহ নিয়মিত ডিভাইস আপডেট করার পরামর্শ দেওয়া হয়। নিয়মিত এলটিএস আপডেটগুলি সম্ভাব্য স্বীকৃত সুরক্ষিত দুর্বলতাগুলিকে মোকাবেলায় সহায়তা করতে পারে যেমন এই প্রকল্প জিরোর প্রতিবেদন 2019 এর শুরুর থেকে, প্রকাশ্য দূষিত অভিনেতাদের দ্বারা প্রকাশ বা আবিষ্কারের আগে।

পূর্বশর্ত

  • Android সাধারণ কার্নেল শাখা (এওএসপি থেকে)
  • লক্ষ্য ডিভাইস কার্নেলের জন্য একটি এলটিএস মার্জ স্টেজিং শাখা
  • ডিভাইস কার্নেল রিলিজ শাখা
  • গিট রেপো
  • কার্নেল বিল্ড টুলচেন

এলটিএস পরিবর্তনের সাথে একত্রীকরণ

এলটিএস পরিবর্তনগুলি মার্জ করা হচ্ছে
চিত্র 1 : এলটিএসের পরিবর্তনগুলি একত্রিত করা হচ্ছে

নিম্নলিখিত টিপসগুলি একটি এলটিএস মার্জ করার জন্য সাধারণ পদক্ষেপগুলির রূপরেখা দেয়।

  • টার্গেট কার্নেল রিলিজ শাখাকে -LTS স্টেজিং শাখায় ব্যাক-মার্জ করুন
  • স্থানীয়ভাবে লিনাক্স-স্থিতিশীল বা অ্যান্ড্রয়েড সাধারণ -LTS মঞ্চ শাখায় মার্জ করুন
  • মার্জ সংঘাতগুলি সমাধান করুন (প্রয়োজনীয় হিসাবে অঞ্চল / কোডের মালিকদের সাথে পরামর্শ করুন)
  • স্থানীয়ভাবে তৈরি করুন এবং স্যানিটি / ইউনিট পরীক্ষা করুন (নীচের পরীক্ষার বিভাগটি দেখুন)
  • এলটিএস স্টেজিং শাখায় অ্যান্ড্রয়েডের সাধারণ পরিবর্তনগুলি আপলোড এবং মার্জ করুন
  • এলটিএসের স্টেজিং শাখাটি ব্যবহার করে ভালভাবে পরীক্ষা করুন (নীচের পরীক্ষার বিভাগটি দেখুন)
  • পরীক্ষার ফলাফল পর্যালোচনা
  • যে কোনও প্রবিধানকে সম্বোধন করুন, প্রয়োজন অনুসারে দ্বিখণ্ডিত বিভক্ত করুন
  • প্রধান ডিভাইস কার্নেল রিলিজ ব্রাঞ্চে -LTS মঞ্চ শাখাটি মার্জ করুন
  • আপনার ডিভাইসগুলির জন্য নতুন অ্যান্ড্রয়েড বিল্ড তৈরি করুন যাতে মজাদার এলটিএস কার্নেল অন্তর্ভুক্ত থাকে
  • নতুন কার্নেল দিয়ে রিলিজ বিল্ড / রম সংকলন করুন

এলটিএসের সাথে সংযুক্তির উদাহরণ।

অ্যান্ড্রয়েড -৪.৯ কে মূল / মাস্টার (এলটিএস মঞ্চের মাধ্যমে) এবং মার্চ করুন এবং এলটিএসের স্টেজিং শাখাকে সিঙ্ক করুন:

repo init -b <Device kernel LTS staging branch>  # init
repo sync
git checkout -b lts <Device kernel LTS staging branch>
git merge <Device kernel release branch>         # back-merge
git commit

এই মুহুর্তে অবিরত হওয়ার আগে আপনার উত্সের রিমোটে ব্যাক-মার্জটি চাপ দেওয়া ভাল। এর পরে, অ্যান্ড্রয়েড সাধারণকে এলটিএস মঞ্চে মার্জ করুন।

git merge -X patience android-4.9-q            # LTS merge

মার্জ সংঘাতগুলি সমাধান করা

বেশিরভাগ ক্ষেত্রে, অ্যান্ড্রয়েড সাধারণ কার্নেল এবং -LTS মঞ্চের শাখার মধ্যে দ্বন্দ্ব থাকবে। এলটিএস সংশ্লেষের সময় মার্জ সংঘাতগুলি সমাধান করা চ্যালেঞ্জিং হতে পারে তাই এগুলি সমাধান করার জন্য নীচে কয়েকটি সহায়ক টিপস রয়েছে।

বর্ধিত মার্জ

ডিটিএস কার্নেলটি এলটিএসের সাথে আপডেট হওয়ার পরে যদি উল্লেখযোগ্য পরিমাণে সময় অতিবাহিত হয় তবে শেষ সংশ্লেষিত আপডেটটি প্রবাহিত হওয়ার পর থেকে অনেকগুলি (> 50) স্থিতিশীল রিলিজ হওয়ার সম্ভাবনা রয়েছে। এটিকে সম্বোধন করার সর্বোত্তম উপায় হ'ল ধীরে ধীরে একবারে অল্প সংখ্যক রিলিজ (<= 5 গৌণ সংস্করণ) এ মিশ্রণ করে, যখন প্রতিটি ধাপে পরীক্ষা করার সময়।

উদাহরণস্বরূপ, যদি ডিভাইসের কার্নেল সংস্করণ সাবলেভেলটি 4.14.100 হয় এবং আপস্ট্রিম স্থিতিশীল সুবলভেল 4.14.155 হয় তবে যুক্তিসঙ্গত পরিবর্তনগুলির পর্যাপ্ত পর্যালোচনা এবং পরীক্ষা করা যায় তা নিশ্চিত করার জন্য ছোট বর্ধিতকরণগুলিতে মার্জ করা ভাল।

সাধারণভাবে, আমরা দেখতে পেয়েছি যে মার্জ প্রতি <= 5 গৌণ রিলিজের ব্যাচগুলিতে ক্রমবর্ধমান কাজ করা প্যাচগুলির আরও পরিচালনাযোগ্য সেটকে নিশ্চিত করে।

পরীক্ষামূলক

দ্রুত বুট পরীক্ষা

দ্রুত বুট পরীক্ষা করার জন্য আপনাকে প্রথমে স্থানীয়ভাবে এলটিএস পরিবর্তনগুলি মার্জ করতে হবে এবং কার্নেলটি তৈরি করতে হবে।
নীচের পদক্ষেপগুলি দ্রুত বুট পরীক্ষার প্রক্রিয়া বর্ণনা করে।

একটি ইউএসবি কেবল ব্যবহার করে আপনার কম্পিউটারে লক্ষ্য ডিভাইসটি সংযুক্ত করুন এবং অ্যান্ড্রয়েড ডিবাগ ব্রিজ (এডিবি) ব্যবহার করে ডিভাইসে .ko টিপুন।

adb root
adb disable-verity
adb reboot
(wait for device boot-to-home)
adb root
adb remount
adb push *.ko vendor/lib/modules/
adb reboot bootloader

বুট করুন ডিটিবো এবং কার্নেল চিত্রটি সাইডেলোড করুন।

fastboot boot --header-version=2 Image.lz4 (redo again if device rebooted)

ত্রুটির জন্য / dev / kmsg লগ চেক করুন।

adb shell
su
cat /dev/kmsg  (inspect kernel log for obvious new errors)

অ্যান্ড্রয়েড পরীক্ষা

নতুন এলটিএস কার্নেল এবং মডিউলগুলির সাহায্যে প্রথমে -userdebug চিত্রটি স্থানীয়ভাবে তৈরি করুন।

কোনও ত্রুটির জন্য / dev / kmsg দেখুন এবং নিশ্চিত করুন চালিয়ে যাওয়ার আগে কোনওটি নেই। প্রতিটি জিনিস প্রত্যাশার মতো কাজ করছে তা নিশ্চিত করতে নিম্নলিখিত জিনিসগুলি পরীক্ষা করুন।

  • Wi-Fi গতি
  • ক্রোম ব্রাউজার
  • ক্যামেরা অ্যাপ্লিকেশন সহ চিত্র এবং ভিডিও ক্যাপচার
  • বিল্ট-ইন স্পিকার এবং ব্লুটুথ হেডসেট সহ ইউটিউব ভিডিও প্লেব্যাক
  • ক্যারিয়ার নেটওয়ার্কের উপর কল
  • Wi-Fi এর মাধ্যমে ভিডিও কল

স্বয়ংক্রিয় পরীক্ষার স্যুট

ভেন্ডর টেস্ট স্যুট (ভিটিএস) এবং স্বয়ংক্রিয় স্থায়িত্বের স্ট্রেস টেস্টিংয়ের মাধ্যমে উপলব্ধ পণ্যের চিত্রে পুনরায় প্রতিক্রিয়া না ঘটে তা নিশ্চিত করার জন্য চূড়ান্ত যাচাইকরণ করা হয়।