linux驱动开发环境的建立

来源:互联网 发布:bec背单词软件 编辑:程序博客网 时间:2024/05/16 03:00

在写这篇文章之前我想为大家推荐一本书《linux设备驱动程序》。我看的是第三版,个人觉得这本书是一本非常值得大家去读一读的书。

我用的开发平台如下:

系统:backtrack 5 r1 (系统带有内核源码),其实它和也ubuntu 10.4没有什么两样。可以用ubuntu同样的思路去解决BT5下面的大多数问题。

首先是要下载一份新内核的源码(源码在官方网站www.kernel.org)到/usr/src目录下,我以版本linux-2.6.39.4为例,下载下来后就需要内核源码的编译工作。所以要安装一些工具,为了保证编译的顺利先查看所需的工具在:/usr/src/linux-2.6.39.4/Documentation/Changes.如果有某个工具没有就安装该工具,因为很容易这里就不费话了。

现在开始执行编译所需的命令:

cd /usr/src/linux-2.6.39.4             进入内核目录

make clean                   对以前编译生成的东西进行清理   也可用 make distclean (会清除更多的东西)

make menuconfig         对内核进行配置

make                          时间会很长

make zImage        

make modules

make modules_install

make install

 

后面的,在不同的系统会有不一样的地方, 先确定安装了initrd-tools

mkinitramfs -o /boot/initrd.img-2.6.39.4 /lib/modules/2.6.39.4

修改/boot/menu.1st 

root  (hd0,1)  
kernel  /boot/vmlinuz-2.6.39.4 root=/dev/sdb1 ro quiet splash  
initrd          /boot/initrd.img-2.6.39.4 
savedefault  
boot

新版的grub没有menu.1st 这个文件,修改/boot/grub/grub.cfg  要改的用红色标明,在70行左右

        linux   /boot/vmlinuz-2.6.39.4 root=UUID=5bee258a-bc01-479f-bb46-a67    249ace7ea ro   text splash vga=791

       initrd  /boot/initrd.img.2.6.39.4

重启电脑就是用的新的内核了,

由于水平有限,若有什么错误,欢迎大家指正!<xueyang1122@gmail.com>

原创粉丝点击