मेरे पास कुछ वर्षों के प्रोग्रामिंग अनुभव हैं। अब मैंने लिनक्स कर्नेल मॉड्यूल विकास की दिशा में काम करने का फैसला किया है। हालांकि, मैं भी शुरू नहीं कर सकता। मैंने इस कोड को उबंटू में संकलित किया है।लिनक्स कर्नेल मॉड्यूल को कैसे कोड करें?
#include <linux/module.h>
int init_module(void){ printk("<1> hellp"); return 0;}
void cleanup_module(void){ printk("<1> bye");}
हालांकि, insmod त्रुटि संदेश काम नहीं कर रहा "अवैध मॉड्यूल प्रारूप" है। गुगलिंग के बाद मुझे लगा कि यह संस्करण संगतता के साथ कुछ समस्या हो सकती है। और इसे हल करने का कोई अच्छा तरीका नहीं है। तो क्या कुछ असली कर्नेल मॉड्यूल डेवलपर मुझे कुछ सलाह दे सकता है? सीखने से पहले मुझे किस पर्यावरण को तैयार करना चाहिए?
धन्यवाद!
* "आप __init और __exit मैक्रो याद कर रहे हैं, ..." * - '__init' के उपयोग और' __exit' आवश्यकता नहीं है; वे केवल पाठ खंड निर्दिष्ट करते हैं जिन्हें बूटिंग पूर्ण होने के बाद मुक्त किया जा सकता है। ड्राइवर मॉड्यूल के लिए क्या आवश्यक है 'module_init() 'और' module_exit() 'का उपयोग करके दो प्रविष्टि बिंदुओं के लिए घोषणाएं हैं। – sawdust