मैं ठीक से कर्नेल मॉड्यूल को कैसे पुनः लोड कर सकता हूं?


13

संबंधित प्रश्न

मैं नए झंडे आज़माने के लिए कर्नेल मॉड्यूल को पुनः लोड नहीं कर सकता।
उदाहरण: thinkpad_acpiडिफ़ॉल्ट के बिना है fan_control=1। इसलिए यदि मेरा कंप्यूटर वास्तव में गर्म चलता है और पंखे पूरी गति से नहीं चलते हैं, तो यह कभी-कभी मॉड्यूल को केवल अस्थायी लोड करने के लिए उपयोग करने योग्य हो सकता है fan_controlऔर प्रशंसक को कई मिनटों के लिए उच्चतम संभव गति पर सेट कर सकता है और सब कुछ वापस सामान्य पासवर्ड में बदल सकता है।
यह संभव नहीं है क्योंकि ऐसा लगता है कि कुछ कर्नेल मॉड्यूल दूसरों पर निर्भर हैं और ऐसा लगता है कि आधुनिक लिनक्स कर्नेल इसकी जांच कर रहे हैं।
तो मैंने अब तक क्या किया:

  • निर्भरता की जाँच
    • modinfo -F depends thinkpad_acpi
  • इन मॉड्यूल को अनलोड करने का प्रयास करें
    • rmmod या modprobe -r $dependencies
    • कुछ मॉड्यूल दूसरों पर फिर से निर्भर करते हैं, उन्हें भी उतारने की कोशिश करें। काम नहीं करता है, भले ही कोई 'निर्भरता' न हो (या कम से कम modinfo मुझे बताता है कि)
  • Google के लिए बहुत कुछ modprobe: FATAL: Module x is in use.
  • पढ़ना tldp

आप हमेशा विकल्प बदल सकते हैं और रिबूट कर सकते हैं। एक बेहतर सवाल यह है कि आपका कंप्यूटर क्यों गर्म हो रहा है।
terdon

क्षमा करें, रिबूट ठीक वही है जो मैं नहीं करना चाहता हूं और मेरा कंप्यूटर गर्म हो सकता है क्योंकि सीपीयू लोड तेज है, या ढक्कन बंद है, या कंप्यूटर बाहर है और सूरज चमक रहा है;)।
क्वेरी

ठीक है, एक और विकल्प अपनी प्रशंसक गति को नियंत्रित करना होगा। : प्रासंगिक tthinkwiki पेज पर एक नज़र डालें thinkwiki.org/wiki/How_to_control_fan_speed
terdon

1
मुझे पता है! उद्धरण: प्रशंसक नियंत्रण को सक्षम करने के लिए, मॉड्यूल पैरामीटर fan_control = 1 को थिंकपैड-एसीपीआई को दिया जाना चाहिए। मैं सिर्फ यह जानना चाहता हूं कि क्या कर्नेल मॉड्यूल को फिर से लोड करना संभव है। अगर मैं वायरलेस डिबगिंग कर रहा हूँ तो अन्य झंडे के साथ कुछ मॉड्यूल को फिर से लोड करना भी आवश्यक है।
queryAllThings

: Snd_hda_intel के साथ क्या करने के लिए कैसे जानते हैं नहीं $ sudo rmmod -f snd_hda_intel rmmod: ERROR: ../libkmod/libkmod-module.c:769 kmod_module_remove_module() could not remove 'snd_hda_intel': Resource temporarily unavailable rmmod: ERROR: could not remove module snd_hda_intel: Resource temporarily unavailable \:
Tomislav Nakic-Alfirevic

जवाबों:


5

यदि बल अनलोड को कर्नेल ( zgrep FORCE_UNLOAD /proc/config.gzकहते हैं =y) में सक्षम किया गया है , तो आप rmmod -fसमस्याग्रस्त कर्नेल मॉड्यूल को अनलोड करने के लिए बाध्य कर सकते हैं।

इसे सक्षम करने वाले पैच के अनुसार , यह केवल कर्नेल डेवलपर्स और हताश लोगों के लिए है।

सबसे अच्छा शायद यह पता लगाना है कि मॉड्यूल उपयोग में क्यों है, और किस प्रक्रिया से है, लेकिन कम से कम बल उतारने के लिए मॉड्यूल को फिर से लोड करना संभव बनाना चाहिए।


2
जो डेबियन पर डिफ़ॉल्ट लगता है। पुनश्च: डेबियन के /proc/config.gzतहत स्थित है /boot/config-$(uname -r).gz
queryAllThings

1
और grep FORCE_UNLOAD /boot/config-$(uname -r)उबंटू पर।
सबलाबा
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.