systemd: বুট করার সময় স্বয়ংক্রিয় Modprobe কমান্ড


20

আমার বিতরণ ফেডোরা 17 গনোম। প্রতিবার যখনই আমি আমার কম্পিউটারটি পুনরায় চালু / পুনরায় চালু করি তখন এই কমান্ডটি রুট হিসাবে চালানো দরকার:

modprobe rt2800usb

আমি কীভাবে এটি স্থায়ী করতে পারি?


1
হাই, আপনার প্রথম প্রশ্নের জন্য ধন্যবাদ। আপনি কোন লিনাক্স বিতরণ উল্লেখ করছেন তা উল্লেখ করতে
পারলে ভালো লাগবে

1
@ বনসিস্কট বিতরণটি সম্ভবত প্রশ্নের পাঠ্যেও যুক্ত করা উচিত, তবে ট্যাগটি ফেডোরা বলে।
ছাড়ুন

(এছাড়াও, আমার নিজের উত্তর মুছে ফেলা হয়েছে কারণ এটি ফেডোরা-নির্দিষ্ট নয়)
বনসী স্কট

@ বনসিস্কট, আপনার উত্তরটি অন্যদের পক্ষে বেশ কার্যকর হতে পারে ...
ভনব্র্যান্ড

উত্তর:


34

কোনও ডিস্ট্রো ব্যবহার করে systemdআপনি মডিউলটি স্বয়ংক্রিয়ভাবে এর মাধ্যমে লোড করতে পারেন modules-load.d:

  • কনফিগারেশন ফাইলটি তৈরি করুন:

    /etc/modules-load.d/rt2800usb.conf

  • এটি খুলুন এবং এটির মতো সম্পাদনা করুন (মডিউলটির নাম যুক্ত করুন):

    rt2800usb

  • পরের বার আপনি পুনরায় বুট করুন মডিউলটি স্বয়ংক্রিয়ভাবে লোড হওয়া উচিত


সমস্যা সমাধান:

systemdপরিষেবাটি মডিউলটি লোড করেছে কিনা তা পরীক্ষা করুন :

systemctl status systemd-modules-load.service

আউটপুটটি দেখতে এইরকম হওয়া উচিত:

systemd-modules-load.service - Load Kernel Modules
  Loaded: loaded (/usr/lib/systemd/system/systemd-modules-load.service; static)
  Active: active (exited) since Wed, 03 Apr 2013 22:50:57 +0000; 46s ago
        Docs: man:systemd-modules-load.service(8)
              man:modules-load.d(5)
 Process: 260 ExecStart=/usr/lib/systemd/systemd-modules-load (code=exited, status=0/SUCCESS)

শেষ লাইনে PID(প্রক্রিয়া আইডি) এবং প্রস্থান কোড রয়েছে। status=0/SUCCESSমানে মডিউলটি সফলভাবে inোকানো হয়েছিল, এর দ্বারা নিশ্চিত হয়েছে:

journalctl -b _PID=260

আউটপুট হচ্ছে:

Apr 03 22:50:57 mxhst systemd-modules-load[260]: Inserted module 'rt2800usb'

ব্যর্থতার ক্ষেত্রে, systemctlআউটপুট এইরকম দেখাচ্ছে:

systemd-modules-load.service - Load Kernel Modules
  Loaded: loaded (/usr/lib/systemd/system/systemd-modules-load.service; static)
  Active: failed (Result: exit-code) since Wed, 03 Apr 2013 22:50:59 +0000; 43s ago
        Docs: man:systemd-modules-load.service(8)
              man:modules-load.d(5)
 Process: 260 ExecStart=/usr/lib/systemd/systemd-modules-load (code=exited, status=1/FAILURE)

সঙ্গে journalctl -bপ্রতিবেদন:

Apr 03 22:50:59 mxhst systemd-modules-load[260]: Failed to find module 'fakert2800usb'

যখন প্রস্থান কোডটি হ'ল এর 0/SUCCESSঅর্থ আপনার মডিউলটি সফলভাবে sertedোকানো হয়েছে; চলমান

lsmod | grep rt2800

এটি নিশ্চিত করা উচিত:

rt2800usb              26854  0 
rt2x00usb              19757  1 rt2800usb
rt2800lib              64762  1 rt2800usb
rt2x00lib              66520  3 rt2x00usb,rt2800lib,rt2800usb
mac80211              578735  3 rt2x00lib,rt2x00usb,rt2800lib

যদি lsmodআউটপুট নিশ্চিত না করে (পরিষেবা বহির্গমন কোড থাকা সত্ত্বেও 0/SUCCESS) এর অর্থ হল লোড হওয়ার পরে মডিউলটি সরানো হয়েছে modules-load.service। একটি সম্ভাব্য কারণ হ'ল অন্য *.confফাইল যা মডিউলটিকে কালো তালিকাভুক্ত করেছে। একটি লাইনের সন্ধান করুন:

blacklist rt2800usb

মধ্যে /etc/modprobe.d/*.conf, /usr/lib/modprobe.d/*.confবা /run/modprobe.d/*.confতা মন্তব্য আউট / এটি মুছে দিন।


আমি এটি করেছি, তবে মডিউলটি পুনরায় বুটে ফেলা হয়নি।
কিছু 21

মূল ফাইলটির মালিক হওয়ায় এটি কি?
কিছু কিছু 21

আমি পুনরায় বুট করার সময়, আমাকে এখনও Modprbe কমান্ড করতে হবে। তালিকাটি মোডপ্রোব কমান্ড চালানোর পরেও তালিকাভুক্ত করা হচ্ছে না কেন?
somethingSomething

5

বুটে একটি মডিউল লোড করতে, আপনি একটি ফাইল তৈরি করবেন /etc/modules-load.d/; এই ফাইলটির কোনও নাম থাকতে পারে তবে শেষ হওয়া আবশ্যক .conf। আপনার ওয়াইফাই ড্রাইভারের ক্ষেত্রে আপনি উদাহরণস্বরূপ ফাইলটি তৈরি করতে পারেন /etc/modules-load.d/rt2800.conf

ফাইলটিতে আপনি যে মডিউলের মতো লোড করতে চান তার নামের সাথে একটি একক লাইন যুক্ত করুন:

rt2800usb

কার্নেল মডিউলগুলির আর্ক উইকি পৃষ্ঠায় আরও তথ্য রয়েছে।

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