3 पार्टी मॉड्यूल कैसे स्थापित करें ताकि यह बूट पर लोड हो?


24

मेरे पास फ़्रेम ग्रैबर के साथ जाने के लिए एक तृतीय पक्ष मॉड्यूल है। मैंने कर्नेल स्रोत डाउनलोड किया है, इसे संकलित करने के लिए विक्रेता के निर्देशों का पालन किया है, और परिणामस्वरूप मॉड्यूल, arvdrv.ko, एक फ़ोल्डर में बैठे हैं।

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

यह मुझे प्रतीत होता है कि modprobe कई मॉड्यूल की एक सूची रखता है। कोई मॉड्यूल नाम जोड़ने के लिए / etc / मॉड्यूल को संपादित कर सकता है और यह बूट पर लोड होगा लेकिन मॉड्यूल arvdrv modprobe की सूची में नहीं है।

मेरा सवाल यह है कि कैसे modprobe मॉड्यूल के बारे में पता है? क्या इसे एक नए स्थान पर कॉपी करने की आवश्यकता है और यदि ऐसा है तो कहां?


मैंने अंत में पाया कि "सही" तरीका खोजने के बाद मुझे जो समस्या थी, वह यह थी कि विक्रेता एक अतिरिक्त इनिशियलाइज़ेशन स्क्रिप्ट को शामिल करना भूल गया था इसलिए ड्राइवर बूट पर लोड हो गया, लेकिन विफल रहा।
नैट लॉकवुड

यहाँ स्वचालित स्टार्टअप इंस्टॉल भाग के बिना आउट-ऑफ-ट्री मॉड्यूल इंस्टॉलेशन प्रक्रिया का त्वरित अवलोकन है: stackoverflow.com/questions/22783793/…
Ciro Santilli 新疆 of of 六四 事件

जवाबों:


32

का उपयोग कर sudo:

  1. /etc/modulesफ़ाइल को संपादित करें और .koअपनी लाइन पर मॉड्यूल ( विस्तार के बिना ) का नाम जोड़ें । बूट पर, कर्नेल इस फ़ाइल में नामित सभी मॉड्यूल को लोड करने का प्रयास करेगा।

  2. मॉड्यूल को एक उपयुक्त फ़ोल्डर में कॉपी करें /lib/modules/`uname -r`/kernel/drivers। मेरे मामले में यह था /lib/modules/`uname -r`/kernel/drivers/pci। यह मॉड्यूल को modprobe के डेटाबेस में रखेगा। मुझे नहीं पता कि क्या यह एक कड़ी हो सकती है।

  3. भागो depmod। इससे आपके मॉड्यूल की सभी निर्भरताएं मिल जाएंगी।

  4. इस बिंदु पर, मैंने रिबूट किया और फिर lsmod | grep module-nameयह पुष्टि करने के लिए चला कि मॉड्यूल बूट पर लोड किया गया था।

अधिक जानकारी के लिए modprobe , lsmod और depmod के मैन पेज देखें।


3
मैंने आपके निर्देशों का पालन किया लेकिन कुछ भी काम नहीं किया जब तक कि विक्रेता ने कुछ डिबग कोड की आपूर्ति नहीं की !!! आपका उत्तर पूर्ण, सरल है, और मेरा मानना ​​है कि यह काम किया होगा विक्रेता त्रुटियों नहीं था। हां, मैं इसे स्वीकार करूंगा।
नैट लॉकवुड
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.