ubuntu下编译驱动程序的准备
来源:互联网 发布:电信大数据平台 编辑:程序博客网 时间:2024/06/18 05:09
ubuntu不带linux内核源码,需要自己下载安装。
1,查看自己的内核版本
uname -r
2,查看源内的内核源码类表
apt-cache search linux-source
3,下载安装内核源代码
sudo apt-get install linux-source-2.6.27 //我选的是这一个,自己看着办吧
4,等待........
下载完成后,在/usr/src下会有一个文件名为linux-source-2.6.xx.tar.bz2的压缩包
5,解压缩包
tar jxvf linux-source-2.6.27.tar.bz2 //看清自己的版本
解压后会生成一个源代码目录/usr/src/linux-source-2.6.27
6,进入源码目录后,配置文件
make oldconfig
7,生成内核
make
8,疯狂等待,大约1个多小时
9,编译模块
make modules
10,安装模块
make modules_install
大功告成!^_^
下面说一下Makefile文件
$(MAKE) -C $(KERNELDIR) M=$(PWD) modules_install #PWD当前工作目录的变量
obj-m := hello.o
#hello.o是你要生成的驱动,以后可以自己改
KERNELDIR:=/lib/modules/2.6.27-7-generic/build
#这里别抄,写成你自己的版本,这个目录执行了内核源码目录
PWD:=$(shell pwd) #将当前工作目录赋值该PWD
modules:
$(MAKE) -C $(KERNELDIR) M=$(PWD) modules
modules_install:
下面是一个经典的Hello,world!例子自己make一下就行了。
#include <linux/init.h>
#include <linux/module.h>
MODULE_LICENSE("Dual BSD/GPL");
static int hello_init(void)
{
printk(KERN_ALERT "Hello, world!/n");
return 0;
}
static void hello_exit(void)
{
printk(KERN_ALERT"Goodbye, cruel world!/n");
}
module_init(hello_init);
module_exit(hello_exit);
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/unikingest/archive/2009/03/10/3977747.aspx
- ubuntu下编译驱动程序的准备
- ubuntu下编译驱动程序的准备
- ubuntu下编译驱动程序的准备
- Ubuntu编译驱动程序的准备(转)
- 在VMware里Ubuntu下编译内核,运行一个示例的驱动程序
- 关于Linux下驱动程序的编译方法
- 关于Linux下驱动程序的编译方法 .
- Ubuntu 14.10,准备C/C++的编译环境
- Linux 下的驱动程序与内核的编译
- Linux 下的驱动程序与内核的编译
- ubuntu下内核的编译
- Ubuntu下的内核编译
- ubuntu下的c++编译
- ubuntu下的c++编译
- ubuntu 下ffmpeg的编译
- Ubuntu下Openwrt的编译
- Ubuntu下的交叉编译
- ubuntu下ijkplayer的编译
- 全局变量(多个源文件)
- C++中new和delete
- PERL删除数组元素的多种方法
- 【转】c/c++中测时函数学习
- java synchronize
- ubuntu下编译驱动程序的准备
- 几个高速排序算法
- SHIBOR
- 从API到SD卡驱动---探密Linux文件系统(1)
- 关于驱动的一些知识
- ASPxGridview根据条件将符合条件的行颜色改变
- 文件上传控件——WebbUpload
- Serialization from an Object to XML Document in C#
- 分区概念摘要