जब मैं lsmod
वर्तमान में सक्रिय कर्नेल मॉड्यूल दिखाने के लिए उपयोग कर सकता हूं, तो मैं कैसे देख सकता हूं कि कौन से ड्राइवर सांख्यिकीय रूप से कर्नेल में निर्मित हैं और वर्तमान में सक्रिय हैं?
जब मैं lsmod
वर्तमान में सक्रिय कर्नेल मॉड्यूल दिखाने के लिए उपयोग कर सकता हूं, तो मैं कैसे देख सकता हूं कि कौन से ड्राइवर सांख्यिकीय रूप से कर्नेल में निर्मित हैं और वर्तमान में सक्रिय हैं?
जवाबों:
आप कर सकते हैं a cat /lib/modules/$(uname -r)/modules.builtin
कर्नेल डॉक्यूमेंटटन से
यह फ़ाइल उन सभी मॉड्यूलों को सूचीबद्ध करती है जो कर्नेल में निर्मित होते हैं। यह modprobe द्वारा उपयोग किया जाता है जब कुछ बिलिन को लोड करने की कोशिश में विफल नहीं होता है।
uname -r
और अधिक सामान्य नहीं हैuname -a
यदि आपके linux में /proc/config.gz है
जिसमें सभी निर्मित मॉड्यूल हैं। इसे कहीं और कॉपी करें और इसे अनज़िप करें। फ़ाइल को "= M" के साथ सब कुछ खोलें एक मॉड्यूल के रूप में बनाया गया है। "= वाई" के साथ सब कुछ सांख्यिकीय रूप से बनाया गया है।
hwinfo "ड्राइवर:" को सूचीबद्ध करेगा, उपरोक्त फ़ाइल को यह देखने के लिए जांचें कि क्या यह सांख्यिकीय रूप से निर्मित है।
FYI करें: सभी सांख्यिकीय रूप से निर्मित ड्राइवर हमेशा मेमोरी में लोड होते हैं और कार्रवाई के लिए तैयार होते हैं। संबंधित हार्डवेयर के बिना वे कुछ भी नहीं करेंगे, लेकिन मेमोरी का उपयोग करेंगे।
/proc/config.gz
?
/boot/config-$(uname -r)
।
ls /sys/module
सभी अंतर्निहित और बाहरी मॉड्यूल शामिल करने के लिए लगता है।
लेकिन इसमें कुछ प्रविष्टियाँ शामिल हैं जो वास्तव में मॉड्यूल नहीं हैं: /unix/225706/are-modules-listed-under-sys-module-all-the-loads-modules
TODO: स्रोत को पढ़ें और अधिक सटीक रूप से समझें कि वहां क्या डाला गया है।
इस पद्धति का लाभ यह है कि आप कर्नेल कॉन्फिगर को खोजने में सक्षम होने पर निर्भर नहीं होते हैं /boot
या नहीं /proc/config.gz
।