Fedora 驱动开发一个问题明确

来源:互联网 发布:java开发吃处理器吗 编辑:程序博客网 时间:2024/05/22 05:09

由于工作学习,最近开始需要写写linux驱动,之前没做过这个东西,看了点书,感觉难度也不大,主要就是借鉴,然后就可以写了


但整个工作,走了些弯路,时间浪费最多的在开发环境搭建下。


为开始工作,自然计划开始编译个HelloWorld模块试试。


最后发现下面一个问题必须明确,否则后面弯路有得走的!!!


驱动开放需要内核头文件,但是这里我要提醒新手,安装内核头文件切不可盲从那些网上COPY来COPY去的这个命令

 sudo yum install kernel-devel

我从这里开始,步入浪费时间的弯道!又是下载最新版本内核源代码,编译安装内核,又是上源代码make文件里面人为改版本号!!!反反复复折腾死了

最后发现,其实问题很简单阿:

fedora19 64位系统,我的内核版本号  3.9.5-301.fc19  这个命令下去,直接安装的是最新的版本的头文件 3.10.7,命令执行后在/usr/src/kernels/下

可以看到多了一个文件夹,版本明显和自己系统不同,由于新手没太当回事阿。正确的方式应该是先看自己内核版本,然后安装对应版本的

uname -rm

3.9.5-301.fc19.x86_64 x86_64

yum install kernel-devel-3.9.5-301.fc19.x86_64

最后,直接删除了多余内核,直接安装对应头文件,问题解决!



另外,删除内核对应文件后,发现GRUB2启动里面还是有之前安装的内核启动,进入后无法启动,这时需要更改启动列表,网上也是一堆办法,最后发现安全且好用的方法是:

sudo grub2-mkconfig -o /boot/grub2/grub.cfg

这个命令自动找当前存在内核并生成新启动菜单列表。


原创粉丝点击