সমস্ত লোডযোগ্য কর্নেল মডিউলগুলি কীভাবে তালিকাভুক্ত করবেন?


65

আমি লোড করার জন্য কয়েকটি কার্নেল মডিউল খুঁজছি i2c-devএবং i2c-bcm2708। কিন্তু modprobeকমান্ড আয়:

sudo modprobe i2c-dev
modprobe: module i2c-dev not found in modules.dep

আমি সিস্টেমে উপলব্ধ সমস্ত মডিউল তালিকাভুক্ত করতে পারি? তারা কোন ডিরেক্টরিতে অবস্থিত?


1
কার্নেল এই i2c-dev সংকলন করতে পারে নি। আপনি এই মডিউলটি খুঁজে পেলেন না ker কার্নেল মডিউলগুলি / lib / মডিউলগুলি / 'কার্নেল-সংস্করণ' / ড্রাইভার রয়েছে। আপনি যখন লিনাক্স ড্রাইভারের সন্ধান করছেন।
সুপ্রিয়াদি

আপনি / বুট / কনফিগারেশন-কার্নেল-সংস্করণে পরীক্ষা করতে পারেন এবং এই কনফিগার ফাইলটি পড়তে পারেন You কোন লিনাক্স মডিউলগুলি লোড করা হয়েছে বা মডিউলারগুলি ব্যবহার করতে হবে অথবা কার্নেল সংকলনের সময় i2c-dev মডিউলটি সক্ষম করে নি।
সুপ্রিয়াদি

উত্তর:


76
  • modprobeডিরেক্টরিতে অবস্থিত সাব-ডিরেক্টরি থেকে ডিফল্ট লোড মডিউল /lib/modules/$(uname -r)। সাধারণত সমস্ত ফাইলের এক্সটেনশন থাকে .koতাই আপনি এগুলি তালিকাভুক্ত করতে পারেন

    find /lib/modules/$(uname -r) -type f -name '*.ko'
    

    বা, সংক্ষেপিত ফাইলগুলি অ্যাকাউন্টে নেওয়া:

    find /lib/modules/$(uname -r) -type f -name '*.ko*'
    
  • তবে, মডিউলটি লোড করতে সফলভাবে modprobeফাইলের তালিকাভুক্ত তার নির্ভরতা /lib/modules/$(uname -r)/modules.dep(এবং এটি সম্পর্কিত বাইনারি সংস্করণ modules.dep.bin) প্রয়োজন। কিছু মডিউল সিস্টেমে উপস্থিত থাকে তাহলে, কিন্তু তালিকাতে নেই, তাহলে আপনি কমান্ড চালানো উচিত depmodযা নির্ভরতা তৈরী করা এবং স্বয়ংক্রিয়ভাবে আপনার মডিউল অন্তর্ভুক্ত করা হবে modules.depএবং modules.dep.bin

  • অতিরিক্তভাবে, মডিউলটি যদি সফলভাবে লোড হয় তবে এটি ফাইলটিতে তালিকাভুক্ত হবে /proc/modules(কমান্ডের মাধ্যমে অ্যাক্সেসও করা হবে lsmod)।


3
রেডহ্যাট 7 মডিউল ফাইলগুলি .xz- এ সংকুচিত হয়েছে (এটি কার্নেল সংস্করণ বা ওএস সংস্করণের কারণে তা নিশ্চিত নয় .. যদি কেউ আমার কাছে এটি স্পষ্ট করতে পারে?) তাই আমি মনে করি আপনি জিম্মিজের অনুসন্ধান আদেশ দিয়ে সেগুলি খুঁজে পেতে পারেন না। পরিবর্তে ব্যবহার করুন find /lib/modules/$(uname -r) -type f -name *.ko*
পোজিনাক্স

1
@ পোজিনাক্স এখানে একই জিনিসটি আর্চ লিনাক্সে 4.13.10 এ আবিষ্কার করেছেন, যার শেষ রয়েছে.gz
জোহান

1
@ পোসিনাক্স: সাবধান: *.ko*আপনার বর্তমান দির সাথে কিছু ফাইল মিলে গেলে শেলটি আপনার প্রসারিত করতে পারে। একক উদ্ধৃতিগুলির মধ্যে এটি থেকে বাঁচতে আরও ভাল: find /lib/modules/$(uname -r) -type f -name '*.ko*'
অলিভিয়ার ডুলাক

10

modprobeট্যাবটি টাইপ করুন এবং টিপুন, স্বয়ংক্রিয়রূপে তালিকায় সমস্ত লোডযোগ্য মডিউল থাকা উচিত


11
এটি কিছু সিস্টেমে কাজ করে না
avtomaton

5

নেই lsmodনির্দেশে kmodপ্যাকেজ আর্চ লিনাক্স কি তালিকা এবং যে যেমন অন্যান্য দরকারী কমান্ড রয়েছে লিনাক্স কার্নেল মডিউল অবস্থা দেখায় modinfo, rmmod modprobeখুব।

করতে IST প্যাকেজ আপনি টাইপ করতে পারেন দ্বারা উপলব্ধ সমস্ত বাইনেরিতে:

pacman -Ql kmod | grep /bin/ --color=always

, এবং আপনি বাইনারি সহ ওয়ার্নার প্যাকেজটিও পরীক্ষা করতে পারেন pacman -Qo lsmod


Qসুইচ হয় কুই uery স্থানীয়ভাবে ইনস্টল করা প্যাকেজ (অসদৃশ Sকরার গুলি ynchronize, অর্থাত্। দূরবর্তী অবস্থান থেকে চেক করতে)।


2
যেখানে এটি হাইলাইট করা গুরুত্বপূর্ণ যে lsmodকেবল ইতিমধ্যে লোড হওয়া মডিউলগুলি দেখায় । এই থ্রেডটির লেখকের কোনও মডিউল লোড করতে সমস্যা ছিল যা লোডযোগ্যযোগ্য কার্নেল মডিউলগুলির মানচিত্রে ছিল না। তদতিরিক্ত, এই সমাধানটি কেবল আর্চলিনাক্সে প্রযোজ্য। যা লেখকের বিতরণ নাও হতে পারে এবং অন্যদের জন্য সমস্যাটি সমাধান নাও হতে পারে।
আখেন্দো

@ আখেন্দো lsmodকমপক্ষে উবুন্টুতেও উপলব্ধ। যাইহোক, আমি সম্মতি জানাই এটি ওপির সমস্যার সমাধান করে না।
মেলাবিয়াস

2

আমি ব্যবহার করতে পছন্দ depmod। কমান্ডটি depmod -av|grep MOD_NAMEদিয়ে:, আপনার সিস্টেমটি মডিউলগুলি তৈরি করবে ep -vপরামিতি ভারবোসিটি জন্য গুরুত্বপূর্ণ এবং -aতা নিশ্চিত করার জন্য থেকে সব সম্ভব মডিউল /lib/modules/modules.dep ফাইলের জন্য ব্যবহার করা হয়।

এইভাবে এটি নিশ্চিত করা সম্ভব যে একটি অনুরোধ করা কার্নেল মডিউলটি লোডযোগ্য হিসাবে কার্নেলের সাথে ম্যাপ করা হয়েছে। যখন আকাঙ্ক্ষার কার্নেল মডিউলটি আউটপুটে তালিকাভুক্ত করা হয় না, আপনি জানেন যে কার্নেল এটি খুঁজে পাবে না।

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