文章说明:calmarrow(lqm)原创 文章引自: http://piaoxiang.cublog.cn 《Linux设备驱动程序》 内核编程入门,就以最为简单的hello.c为例。 环境:Redhat 9.0,内核版本2.4.20-8。 虽然现在2.6.x的内核很早就就发布了,但是毕竟很多公司还在使用2.4.x的内核。作为新手,从2.4.x的内核入手是可行的。原因有如下几条: (1)2.4.x比较成熟。可能你遇到的绝大多数问题,网上都有解决方案。在这个过程中,你可以节省大量的时间,同时还可以对比网上的解决方案,加深认识,总结解决问题的方法,调整自己的学习方法和思路。 (2)事物的发展总不可能是一蹴而就的。了解发展的历程,对深入理解问题有很大的好处。所以在2.4.x的内核的基础上学习2.6.x的内核,就能够体会到2.6.x的内核在哪些方面要出色,或者为什么要采取这种改进技术。相信理论清晰了,即时2.6.x的内核也会容易上手。 下面总结了第一个内核程序hello.c的学习过程。 (一)第一阶段:尽量简单 /* * hello.c */ # define MODULE # include < linux / module . h > int init_module ( void ) { printk ( "Hello World!\n" ) ; return 0 ; } void cleanup_module ( void ) { printk ( ...