ubantu14.04 32位下第一个hello world驱动程序
平台:ubantu14.04,内核版本: 3.13.0-32-generic
编写驱动程序时,首先必须建立内核源码树,内核源码树我现在的理解就是整个linux内核源代码编译后的形式,即下载源码后,执行make编译后的形式,它是编译驱动的前提。ubuntu系统默认情况下是没有的。先前的内核只需要有一套内核头文件就够了,内核模块编译时需要内核源码树中的目标文件,通过这种方式,可得到一个更加健壮的模块装载器,但也需要这些目标文件存在于内核目录树中。
一. 构造内核源码树
1. uname -r查看内核版本 ,输出: 3.13.0-32-generic
如果安装系统时,自动安装了源码。在 /usr/src 目录下有对应的使用的版本目录,ubuntu系统默认情况下是没有的,如下所示:
2. ls /usr/src,输出:linux-headers-3.13.0-32,linux-headers-3.13.0-32-generic
2. 查看一下可一下载的源码包(切记不要使用超级用户使用此命令否则……会提示没有此命令)
执行:apt-cache search linux-source,输出:
linux-source-3.13.0 - Linux kernel source for version 3.13.0 with Ubuntu patches
3. 执行:sudo apt-get install linux-source-3.13.0
下载完成后,在/usr/src下
平台:ubantu14.04,内核版本: 3.13.0-32-generic
编写驱动程序时,首先必须建立内核源码树,内核源码树我现在的理解就是整个linux内核源代码编译后的形式,即下载源码后,执行make编译后的形式,它是编译驱动的前提。ubuntu系统默认情况下是没有的。先前的内核只需要有一套内核头文件就够了,内核模块编译时需要内核源码树中的目标文件,通过这种方式,可得到一个更加健壮的模块装载器,但也需要这些目标文件存在于内核目录树中。
一. 构造内核源码树
1. uname -r查看内核版本 ,输出: 3.13.0-32-generic
如果安装系统时,自动安装了源码。在 /usr/src 目录下有对应的使用的版本目录,ubuntu系统默认情况下是没有的,如下所示:
2. ls /usr/src,输出:linux-headers-3.13.0-32,linux-headers-3.13.0-32-generic
2. 查看一下可一下载的源码包(切记不要使用超级用户使用此命令否则……会提示没有此命令)
执行:apt-cache search linux-source,输出:
linux-source-3.13.0 - Linux kernel source for version 3.13.0 with Ubuntu patches
3. 执行:sudo apt-get install linux-source-3.13.0
下载完成后,在/usr/src下