मैं एक प्रो एंट्री बनाने की कोशिश कर रहा हूं। मेरे init_module समारोहdmesg प्रिंटक स्टेटमेंट नहीं दिखा रहा है
int init_module()
{
printk(KERN_INFO "proc2:Module Loaded\n");
proc_entry=proc_create_data(proc_name,0644,NULL,&fops,NULL);
if(proc_entry==NULL)
{
printk(KERN_INFO "proc2:Error registering proc entry");
}
else
{
printk(KERN_INFO "proc2:Proc Entry Created");
}
return 0;
}
निम्नलिखित नीचे के रूप में है सफाई विधि कार्यक्रम के
void cleanup_module()
{
printk(KERN_INFO "proc2:module unloaded");
remove_proc_entry(proc_name,proc_entry);
}
बाकी चर परिभाषा और कॉलबैक कार्यों में शामिल हैं है।
जब मैं इस प्रोग्राम को संकलित करता हूं तो यह अच्छी तरह से संकलित होता है। जब मैं insmod
का उपयोग करता हूं तो यह मुझे तुरंत उत्तर नहीं देता है। lsmod
मेरे मॉड्यूल और शो द्वारा सूचीबद्ध एक सूची (क्या पता नहीं) सूचीबद्ध करता है। dmesg
उपर्युक्त प्रिंटक संदेशों में से कोई भी दिखाता है।
क्या आप मुझे बता सकते हैं कि यहां क्या गलत है?
आश्चर्यजनक रूप से केवल KERN_INFO संदेश नहीं। लेकिन पूरे मॉड्यूल ने इको "7">/proc/sys/kernel/printk –
का उपयोग करके काम करना शुरू किया क्योंकि "7" KERN_DEBUG से KERN_EMERG तक सभी प्रकार के लॉग को दिखाता है, न केवल KERN_INFO विशिष्ट। – Wayne
मैं सिर्फ यह जोड़ना चाहता हूं कि उपयोगकर्ता रूट होने पर ही सफल हो जाए। पुनर्निर्देशन अन्यथा विफल हो जाएगा। पुनर्निर्देशन को '| इसे काम करने के लिए सुडो टी '। – russoue