একাধিক মেশিনের হার্ডওয়্যার সমর্থন করে লোকালমডকনফিগের সাহায্যে কাস্টম কার্নেল কীভাবে তৈরি করবেন?


9

অ্যাপ্লায়েন্সের মতো কোনও একক টাস্ক চালানোর জন্য সার্ভারটি কনফিগার করার সময়, কাস্টম কার্নেল তৈরির প্রয়োজন বাড়তে পারে। উদাহরণস্বরূপ ডিস্কের স্থান সংরক্ষণ করা।

উবুন্টু কোর 13.10 এএমডি 64 রুট ফাইল সিস্টেমটি একটি 38 এমবি ডাউনলোড, যেখানে প্রয়োজনীয়তা নির্ভরতা সহ "লিনাক্স-চিত্র-জেনেরিক" মেটা প্যাকেজটি 79 এমবি আর্কাইভ ডাউনলোড করবে এবং কার্নেল-চিত্র-জাইজ-জেনেরিক প্যাকেজের আকার এখনও 14 এমবি

একটি কার্নেল যে আপনার হার্ডওয়ার ব্যবহার করবে না মডিউল থেকে ছিনতাই করা হয় নির্মাণের জন্য, make localmodconfigকমান্ড কাজের জন্য সঠিক হাতিয়ার। তবে আপনার ভার্চুয়াল মেশিন যা আপনার বিল্ড এবং পরীক্ষার পরিবেশ চালায় আপনার লক্ষ্য স্থাপনার হার্ডওয়ারের চেয়ে বিভিন্ন মডিউল লোড করে। এবং / অথবা কিছুক্ষণ পরে আপনার স্থাপনার হার্ডওয়্যার ইওল হয়ে যেতে পারে এবং বিভিন্ন হার্ডওয়্যার ব্যবহার করা হয়। এবং ফ্রিকোয়েন্সি যেখানে কার্নেল আপডেট প্রকাশ করা হয় তা প্রতিটি বিভিন্ন হার্ডওয়্যার কনফিগারেশনের জন্য কাস্টম কার্নেল তৈরি করা খুব জটিল হয়ে উঠতে পারে।

কীভাবে দ্রুত একটি কাস্টম লিনাক্স কার্নেল তৈরি করতে হবে যা কয়েকটি বিভিন্ন হার্ডওয়্যার বাক্সে চলে?

উত্তর:


11

make localmodconfigকমান্ড এখনও কাজের জন্য সঠিক হাতিয়ার। আসলে make localmodconfigরানscripts/kconfig/streamline_config.pl

ফাইল ইনপুট

streamline_config.pl(পার্ল) উত্স কোডটি পড়ার সময় , একটি অননুমোদিত বৈশিষ্ট্য রয়েছে my $lsmod_file = $ENV{'LSMOD'};যা lsmodকমান্ড থেকে আউটপুটের পরিবর্তে লোডযুক্ত মডিউল সনাক্তকরণের জন্য ফাইল ইনপুটকে অনুমতি দেয় ।

লাইভ সিডি

কারণ লোকালমোডকনফিগ lsmodলোড হওয়া মডিউলগুলি সনাক্ত করতে আউটপুট ব্যবহার করে । আমরা বিভিন্ন হার্ডওয়্যার সেটআপগুলির প্রত্যেকটিতে একটি উবুন্টু লাইভ সিডি চালিত করি, একটি টার্মিনাল ( Ctrl+ Alt+ T) খুলি , চালিত করি lsmodএবং এর আউটপুট সংরক্ষণ করি।

সংঘবদ্ধ আউটপুট

lsmodপরপর শিরোনামের রেখাগুলি ছড়িয়ে দেওয়ার সময় আউটপুট ফাইলগুলি সংক্ষিপ্ত করে আপনি দ্রুত একটি ইনপুট ফাইল তৈরি করতে পারেন যা আপনার প্রয়োজনীয় সমস্ত কার্নেল মডিউলগুলি কভার করে। আমরা হাতে হাতে মডিউল তালিকা পর্যালোচনা করতে এবং আরও ম্যানুয়াল রেসিপি ব্যবহার করতে চাই:

  1. $ cd linux-3.11.0/
    বা ডিরেক্টরিতে যান যেখানে আপনি আপনার মেক কমান্ডটি চালাবেন

  2. $ lsmod > lsmod.txt
    আপনার বোঝা মডিউলগুলির সাহায্যে একটি পাঠ্য ফাইল তৈরি করে

  3. $ nano lsmod.txt
    ন্যানো পাঠ্য সম্পাদকটি খুলবে, অবশ্যই আপনি নিজের পছন্দসই সম্পাদক অ্যাপ্লিকেশনটি ব্যবহার করতে পারেন

  4. ইতিমধ্যে নেই এমন আপনার পছন্দসই মডিউলগুলি এই ফাইলটির নীচে যুক্ত করুন (উদাহরণস্বরূপ এই অ্যাওয়ারের নীচের অংশে দেখুন) এবং আপনি প্রস্তুত হওয়ার পরে এটি সংরক্ষণ করুন।
    দ্রষ্টব্য: কলাম ট্যাবুলেটারের অবস্থানগুলির সাথে মেলে শূন্যস্থানগুলি ট্যাবগুলি ব্যবহার করুন।

  5. $ make LSMOD="lsmod.txt" localmodconfig
    এটি লোড করা মডিউলগুলি সনাক্তকরণের জন্য আপনার lsmod.txt ফাইলটিকে ইনপুট হিসাবে ব্যবহার করতে লোকালমোডকনফিগকে বলবে

Steamline_config.pl- র লেখক - স্টিভেন রোস্টেডের প্রতি শ্রদ্ধা জানিয়ে 5 ধাপে একটি স্বল্প স্বরলিপি দেওয়ার পরামর্শ দেওয়ার জন্য।


Lsmod.txt (পদক্ষেপ 4) এ কী কী সংযোজন এবং যুক্ত করা যায় না তার উদাহরণ:

কারণ ইন্টেল D33217CK প্রধান বোর্ডে ইন্টেল তাপ সেন্সর রয়েছে যা আমরা পড়তে চাই, আমরা এই লাইনগুলি সংযোজন করি:

x86_pkg_temp_thermal   13810  0
intel_powerclamp       14239  0

তবে আমরা এই হার্ডওয়্যারটিতে ভার্চুয়াল মেশিনগুলি চালাতে চাই না, সে কারণেই আমরা এই লাইনগুলি এড়িয়ে চলেছি:

kvm_intel             128218  0
kvm                   364766  1 kvm_intel

এটিতে একটি অ্যাপল (ব্রডকম) গিগাবিত ইথারনেট অ্যাডাপ্টার এর থান্ডারবোল্ট বন্দরের সাথে সংযুক্ত রয়েছে, তাই আমরা সংযোজন:

tg3                   152066  0
ptp                    18156  1 tg3
pps_core               18546  1 ptp

আমরা মনে করি আমাদের ভলিউম মিররিংয়ের দরকার নেই এবং এর জন্য যুক্ত করবেন না:

dm_mirror              21715  0
dm_region_hash         15984  1 dm_mirror
dm_log                 18072  2 dm_region_hash,dm_mirror

এবং আমাদের গ্রাফিক্স আউটপুটেরও দরকার নেই (পাঠ্য একটি হেডলেস সার্ভারে করবে), সুতরাং আমরা এতে অন্তর্ভুক্ত করি না:

i915                  589697  3
i2c_algo_bit           13197  1 i915
drm_kms_helper         46867  1 i915
drm                   242354  4 i915,drm_kms_helper

অন্য মেশিনের জন্য আমাদের এই রিয়েলটেক ইথারনেট ড্রাইভারটি অ্যাডিশনালি প্রয়োজন:

r8169                  61434  0
mii                    13654  1 r8169
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.