我使用的是 Debian 2.6.26-1-686。
之前编译过内核了。(不过是在虚拟机上做的,/usr 分区的空间不够,害得我别加一个虚拟盘挂成 /usr/src,再挂机一晚不理会,才编译完的)但之后停下来搞QT了,原打算是从外到内地学。按我的基础来说,直接学驱动也是可以的。经好友相思河畔提醒,可能这样更实际一些,产出投入比更大一些吧。
今天又下载到《Linux设备驱动》第三版中文版,顺便上它原版网站一看,居然有免费电子版(英文版)。过些天还是要去图书馆借纸版书来看。
刚才编译了一下Hello示例,出现一些小问题,原因是以前下载的内核源码放错地方了,不在/usr/src目录里头(不知怎么跑到/home/里头了),因而不存在/usr/src/linux-headers-2.6.26-1-686,结果 /lib/modules/build --> /usr/src/linux-headers-2.6.26-1-686 这个链接是无效的。挪对了位置以后,编译成功。
另外注意两点:
1、Makefile 文件名 第一个字母要大写的。
2、Makefile 的内容若是从别处复制过来,注意TAB的问题。
其实看来,为了作驱动开发,编译内核不是必须的。因为,它只用到了headers。
参考文章:http://blog.chinaunix.net/u2/81217/showart_1330300.html。
谢谢其作者 aiklo,让我得以用最快的速度确认模块的装载是否成功。
阅读(342) | 评论(0) | 转发(0) |