Linux中国  设为主页
 收藏本站
 
当前位置: > 首页 ->Linux技术 ->发行版专区 ->Debian ->Debian/Ubuntu Linux下内核编程者必备
  相关分类: 
CentOS
ubuntu
turbolinux
Suse
slackware
Redhat
Mepis
mandriva
Mandrake
knoppix
Gentoo
Fedora
Debian
红旗
  站内搜索: 
热门文章排行
热门文章排行 Debian4(Etch)系统简要安装详细介(04-27)
使用apt-mirror构建本地Debian镜像 (04-22)
Debian/Ubuntu Linux下内核编程者必(04-11)
debian配置PHP5+MYSQL+Apache (04-16)
Kubuntu 6.10 安装指南(图) (04-22)
精采文章排行
精采文章排行 《Debian服务器设置入门》系列教程 (05-05)
Debian GNU/Linux 完全安装手册(05-05)
Debian On Slug的安装笔记(05-05)
在 debian 上玩 dos 游戏(05-05)
菜鸟乐园 Debian GNU/Linux的安装过(05-01)
  · Debian GNU/Linux 完全安装手册· Debian On Slug的安装笔记· 在 debian 上玩 dos 游戏·菜鸟乐园 Debian GNU/Linux的安装过程 ·Debian GNU/Linux Rssh安全绕过漏洞 ·Debian4(Etch)系统简要安装详细介绍 ·使用apt-mirror构建本地Debian镜像 ·Debian On Slug的安装笔记 ·Debian+vsftpd+MySQL实现虚拟用户

Debian/Ubuntu Linux下内核编程者必备

作者:   来源:   点击:   日期:2007-04-11 [收藏] [投稿]

  IE是否经常中毒?推荐您









6、build-essential

这个包包含一个在建立deb包过程中起关键作用的包的信息列表,如果你不想建立deb包你就不需要安装此表,如果需要生成deb包就最好安装一下这个包吧。安装方法:

apt-get install build-essential

7、kernel-package

如果你想把内核镜像做成一个deb包来用,那么必须用安装这个包了。也就是说只有安装了这个软件包你才能有make-kpkg命令可用。安装方法一样了:

apt-get install kernel-package

8、initrd-tools

如果你想制作启动过程的initrd镜像,则这个包是必不可少的。安装了这个包之后才有mkinitrd命令可用的。安装方法:

apt-get instakk initrd-tools

最后来一个内核模块编程示例吧!

假设你编写了一个内核模块程序,源代码如下:

/* hello.c */
#include <linux/init.h>
#include <linux/module.h>
#include <linux/kernel.h>
static int hello_init(void)
{
    printk(KERN_ALERT "Hello, linux kernel module\n");
    return 0;
}
static void hello_exit(void)
{
    printk(KERN_ALERT "Goodbye, I've created a linux kernel module sucessfully\n");
}
module_init(hello_init);
module_exit(hello_exit);
MODULE_LICENSE("GPL");

你需要这此源程序编写一个makefile,内容如下:

#Makefile for hello.c file
#
KERNEL_DIR:=/usr/src/linux
obj-m:=hello.o
default: 
 $(MAKE) -C $(KERNEL_DIR) SUBDIRS=$(PWD) modules
clean: 
 $(RM) .*.cmd *.mod.c *.o *.ko -r .tmp

注意:这里的KERNEL_DIR是指内核源代码头文件所在目录的上一级目录,通常就是指内核源代码目录。该目录一般包括有arch,drivers,fs,include,init,ipc,kernel,lib,mm,net,scripts,usr,sound,security等目录。

在本示例中,/usr/src/linux是一个链接,指向了/usr/src/kernel-headers-2.6.8-3目录。

编写好makefile后就可以输入make命令生成hello.ko内核模块了,然后你可以用:

insmode hello.ko

命令来加入内核模块,然后用:

rmmod hello

来删除内核模块。

当然,操作过程中,你可以用dmesg命令来查看运行结果。

()

 如果您对本文有任何疑问或者建议,请到讨论区发表您的意见: >> 论坛入口 <<

上一页 1 2 3下一页

上一篇:在Debian的Linux 2.6内核Ipv6的问题   下一篇:在Debian操作系统中网卡的设置步骤
文章评论】 【收藏本文】 【推荐好友】 【打印本文】 【我要投稿】 【论坛讨论

   相关文章:
·《Debian服务器设置入门》系列教程 前言

   文章评论:(1条)
  
 请留名: 匿名评论   点击查看所有评论 论坛讨论
 

 声明:刊登此文章是为了传递更多信息,文章内容仅供参考,转载请注明出处。