Debian/Ubuntu 搭建写模块(驱动)编程的环境[Linux安全]
本文“Debian/Ubuntu 搭建写模块(驱动)编程的环境[Linux安全]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:
之前在Ubuntu里写个kernel module 的 hello world. make出错.
后来知道是因为Ubuntu没有KERNEL 原码树, 认为Ubuntu主打桌面,并且Ubuntu桌面是对比慢.
所以就换用Debian了. 但是Debian 装好后还是没有原码树...
所以在这里记录一下安装的办法:
1. 查看自己系统的内核版本:
hengl@lhdebian:~$ uname -r
2.6.26-1-686
2. 安装呼应版本的内核原码包:
hengl@lhdebian:~$ sudo apt-get install linux-source-2.6.26
然后在/usr/src/ 下就会有内核原码包,是一个紧缩包.
hengl@lhdebian:~$ ls /usr/src/
linux-source-2.6.26.tar.bz2
3. 解压该包:
hengl@lhdebian:/usr/src$ sudo tar -xvf linux-source-2.6.26
然后会生成内核原码目录: linux-source-2.6.26
4. 配置内核:
hengl@lhdebian:/usr/src/linux-source-2.6.26$ sudo make oldconfig
也可以利用别的配置方法 : menuconfig , xconfig. 看自己的需求了.
5. 编译内核:
hengl@lhdebian:/usr/src/linux-source-2.6.26$ sudo make bzImage
这个操作要花一些时间,然后会在当前目录下www.linuxidc.com生成一个新的文件: vmlinux
6. 编译 模块:
hengl@lhdebian:/usr/src/linux-source-2.6.26$ sudo make modules
这里要花更长一些时间... ...
7.安装 模块:
hengl@lhdebian:/usr/src/linux-source-2.6.26$ sudo make modules_install
然后会在 /lib/modules/ 目录下生成 目录 : 2.6.26. make 模块的时刻用到的就是它了.
至此, 就搞了, 重启一下系统, 写个网上处处可以找到的hello world试试:
//hello.c
#include
#include
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);
以上是“Debian/Ubuntu 搭建写模块(驱动)编程的环境[Linux安全]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:
本文地址: | 与您的QQ/BBS好友分享! |