分类: kernel 新手2008-10-01 14:45 294人阅读 评论(0) 收藏 举报
1. 学会写简单的makefile
2. 编一应用程序,可以用makefile跑起来
3. 学会写驱动的makefile
4. 写一简单char驱动,makefile编译通过,可以insmod, lsmod, rmmod. 在驱动的init函数里打印hello world, insmod后应该能够通过dmesg看到输出。
5. 写一完整驱动,加上read, write, ioctl, polling等各种函数的驱动实现。 在ioctl里完成从用户空间向内核空间传递结构体的实现。
《----------------------------------------------------------------------------------------------------------》
9. 看内核中实际应用的驱动代码。你会发现最基本的你已经知道了, 大的框架都是一样的, 无非是read, write, ioctl等函数的实现, 但里面包含了很多很多细小的实现细节是之前不知道的。这时候就要考虑到很多别的问题而不仅仅是基本功能的实现。
推荐您看2.6.20中integrated的一个驱动 kvm,记得是在driver/lguest下,很好玩的, 就是linux下的虚拟机驱动,代码不长,但功能强大。有能力的可以自己写一操作系统按照要求做成磁盘镜像加载到虚拟机中,然后客户机可以有自己的4G虚拟地址空间。
10. 看完驱动欢迎您进入Linux kernel学习中来。
最简单的方法,跟着ldd(linux devive driver)做一遍。