在ubuntu下的helloworld驱动和源码下载编译

来源:互联网 发布:索菲亚衣柜 知乎 编辑:程序博客网 时间:2024/05/19 13:27

在ubuntu下首先查看自己的内核版本信息以及方法:

#uname -r

#uname -a

#uname -srv

下一步根据自己的内核版本去下载相对应的内核源码,可根据一下方法:

#sudo apt-get install linux-source-xxx

#wget kernel.org/pub/linux/kernel/v2.6/linux-2.6.x.tar.gz

下载可下载在/usr/src目录下,其他目录下也可以根据自己的需要

解压下载的内核代码

#tar xvf linux-2.6.34.tar.bz

/usr/src下生成自己的内核源代码

然后根据命令:

make mrproper清除多余的不必要文件

make menuconfig进行设置,一般情况下不用设置,直接exit保存即可

make bzImage进行编译,时间比较长,本人建议在最后加上-j6等来

进行多线程编译,这样会加快你的编译速度,也就是make bzImage -j6

采取6线程编译

make modules编译内核 模块,此过程也是比较长的建议也采取多线

程来编译

如果只是写一个简单的helloworld驱动测试,这些步骤就

如果想进行内核的安装和升级还有如下命令:

make modules_install

make install

等命令来进行安装升级ubuntu内核版本

注意事项

如果在编译加载insmod ./hello.ko的过程中出现

insmod: error inserting './hello.ko': -1 Invalid module format

说明是内核的版本不兼容造成的

这是我编译的结果:

这是我的hello.c文件:

这是我的Makefile文件:




0 0
原创粉丝点击