Linux内核编程学习笔记
nihaonoodle
**************************
展开
-
Linux内核编译
零零散散花了大约一整天的时间才最终搞定内核编译,在网上逛了好久才找到合适的文章;下面把整个过程记录下来,也说是为后来者提供一点经验(俺是初学者,说的不对,还请大侠原谅): 首先,编译内核有两种选择:一是通过安装RPM的方法,另一个是直接编译内核源码;我在装RPM时,rmbuild总是有error,所以就改用的第二种方法。第二种方法也是所有的内核版本都可通用的方法。 第一原创 2008-03-10 10:46:00 · 335 阅读 · 0 评论 -
helloworld程序
搞定了内核树后,又过了半天才最终搞定helloworld,下面说说整个过程吧!程序本身用的是ldd3的代码:/**hello.c*/#include #include #include MODULE_LICENSE("Dual BSD/GPL");static int hello_init(void){ printk(KERN_ALERT "Hello, world/n");原创 2008-03-13 19:41:00 · 389 阅读 · 0 评论 -
对关于字符驱动的一些重要数据结构(file_operations, file, inode, cdev)的理解
cdev是设备与内核的接口,内核通过cdev来使用设备的驱动;file_operations相当于是一个索引,它把处理一个文件所需要的所有操作名称和对应的函数连接起来;而所有的这些操作函数应构成驱动程序很重要的一部分。而file结构表示一个文件,因为在linux中把设备也看成一个文件,所以这里这个数据结构也表示一个设备。cdev和file数据结构中都有指向file_operations的指针fop原创 2008-04-01 14:49:00 · 729 阅读 · 0 评论