Welcome 微信登录

首页 / 操作系统 / Linux / Linux驱动开发环境配置(内核源码树构造)

初次接触Linux驱动程序开发,买了一本《Linux设备驱动程序》,第一件事当然就是构建开发环境了!!!它上面有一个Hello World的列子://hello.c
#include <linux/init.h>
#include <linux/module.h>
MODULE_LICENSE("Dual BSD/GPL");static int hello_init(void){
    printk(KERN_ALERT "Hello, world ");
    return 0;
}static void hello_exit(void){
    printk(KERN_ALERT"Goodbye, cruel world ");
}module_init(hello_init);
module_exit(hello_exit);下面我们来看怎么让它跑起来:驱动程序和用户程序可不一样,它是作为一个模块连接到内核模块来运行的,运行在内核空间里面。所以要运行我们自己构造的模块,需要自己的系统已经配置好内核树,然后把目标模块和内核树连接起来运行!但是我们安装的Linux没有源码(至少我的是这样),更不要说已经编译好的内核树了~(1)下载Linux源码:首先查看可以下载的Linux内核源码包root@jiq-desktop:~#apt-cache search linux-source
然后选定要下载的源码包:root@jiq-desktop:~#apt-get install linux-source-2.6.22
下载完成后,在/usr/src下,文件名为:linux-source-2.6.32.tar.bz2,是一个压缩包,然后用命令解压即可获得Linux内核的源代码:root@jiq-desktop:/usr/src#tar jxvf linux-source-2.6.32.tar.bz2