सभी लोड करने योग्य कर्नेल मॉड्यूल को कैसे सूचीबद्ध करें?


65

मैं लोड करने में कुछ कर्नेल मॉड्यूल के लिए देख रहा हूँ i2c-devऔर i2c-bcm2708। लेकिन modprobeकमांड वापस आती है:

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

मैं सिस्टम में सभी उपलब्ध मॉड्यूल को कैसे सूचीबद्ध कर सकता हूं? वे किस निर्देशिका में स्थित हैं?


1
कर्नेल ने इस i2c-dev को संकलित नहीं किया। आपको यह मॉड्यूल नहीं मिला। कर्नेल मॉड्यूल स्थित / lib / मॉड्यूल / 'कर्नेल-संस्करण' / ड्राइवर। जब आप लिनक्स ड्राइवरों की तलाश कर रहे हैं।
सुप्रीति

आप / boot / config-config-checkernel-version ’पर जांच कर सकते हैं और इस config फाइल को पढ़ सकते हैं। आपको पता होना चाहिए कि कौन से लिनक्स मॉड्यूल लोड किए गए हैं या मॉड्यूलर हैं या कर्नेल didnt को 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
Redhat 7 मॉड्यूल की फाइलें .xz में संपीड़ित होती हैं (निश्चित नहीं है कि यह कर्नेल संस्करण या OS संस्करण के कारण है .. यदि कोई इसे मेरे लिए स्पष्ट कर सकता है?) तो मुझे लगता है कि शायद आप उन्हें जिमीज की खोज कमांड के साथ नहीं पाएंगे। इसके बजाय का उपयोग करें find /lib/modules/$(uname -r) -type f -name *.ko*
पोज़िनक्स

1
@Pozinux ने आर्क लिनेक्स पर 4.13.10 पर वही चीज़ खोजी, जिसके अंत हैं.gz
जोहान

1
@posinux: beware: *.ko*यदि आप अपने वर्तमान dir में कुछ फ़ाइल से मेल खाते हैं तो शेल आपके विस्तार कर सकता है। एकल उद्धरणों के बीच इसे बचने के लिए बेहतर है: find /lib/modules/$(uname -r) -type f -name '*.ko*'
ओलिवियर दुलैक

10

प्रकार modprobeऔर प्रेस टैब, स्वत: पूर्ण सूची में सभी लोड करने योग्य मॉड्यूल शामिल होने चाहिए


11
यह कुछ प्रणालियों के लिए काम नहीं करता है
avtomaton

5

नहीं है lsmodकी कमान kmodमें पैकेज आर्क लिनक्स क्या सूचीबद्ध करता है और है कि इस तरह के रूप में अन्य उपयोगी आदेशों शामिल लिनक्स कर्नेल मॉड्यूल की स्थिति को दर्शाता है modinfo, rmmod modprobeभी।

आपके द्वारा टाइप किए गए पैकेज द्वारा प्रदान की जाने वाली सभी बायनेरिज़ को l करने के लिए :

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

, और आप बाइनरी के विनर पैकेज के लिए भी जांच कर सकते हैं pacman -Qo lsmod


Qस्विच करने के लिए है क्ष uery स्थानीय स्तर पर इंस्टॉल किए गए पैकेज (विपरीत Sकरने के लिए रों ynchronize, यानी। दूर से जाँच करने के लिए)।


2
जहां यह उजागर करना महत्वपूर्ण है कि lsmodकेवल पहले से लोड किए गए मॉड्यूल दिखाता है । इस थ्रेड के लेखक को लोड करने योग्य कर्नेल मॉड्यूल के नक्शे में एक मॉड्यूल को लोड करने में समस्या थी। इसके अलावा, यह समाधान केवल आर्चलिनक्स पर लागू होता है। जो लेखक का वितरण नहीं हो सकता है और दूसरों के लिए समस्या का समाधान नहीं हो सकता है।
13

@Akendo lsmodउबंटू पर भी उपलब्ध है, कम से कम। हालांकि, मैं मानता हूं कि यह ओपी की समस्या का समाधान नहीं करता है।
मेबलियस

2

मैं उपयोग करना पसंद करता हूं depmod। कमांड के साथ: depmod -av|grep MOD_NAMEआपका सिस्टम मॉड्यूल.ep / मैप फाइल्स और उसके माध्यम से grep जनरेट करेगा। -vपैरामीटर शब्दाडंबर के लिए महत्वपूर्ण है और -aयह सुनिश्चित करें कि से सभी संभव मॉड्यूल /lib/modules/modules.dep फ़ाइल के लिए उपयोग किया जाता है।

इस तरह यह सुनिश्चित करना संभव है, कि एक अनुरोधित कर्नेल मॉड्यूल कर्नेल को लोड करने योग्य के रूप में मैप किया जाता है। जब इच्छा कर्नेल मॉड्यूल आउटपुट में सूचीबद्ध नहीं होता है, तो आप जानते हैं कि कर्नेल नहीं मिलेगा।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.