Linux2.6内核驱动hello.c

 hello.c代码

/**************************************************/
#include 
< linux / init.h >
#include 
< linux / module.h >

MODULE_LICENSE(
" Dual BSD/GPL " );

static   char   * whom = " world " ;

static   int  howmany  =   1  ;

module_param(howmany, 
int  ,S_IRUGO);

module_param(whom, charp , S_IRUGO);

static   int  hello_init( void )
{
 
int i;
 
for(i=0;i<howmany;i++)
 
{
  printk(KERN_ALERT
"Hello,%s ",whom);
 }


 
return 0;
}


static   void  hello_exit( void )
{
 printk(KERN_ALERT
"Goodbye,cruel world ");
}


module_init(hello_init);
module_exit(hello_exit);
/**************************************************/


Makefile

/**************************************************/
# If KERNELRELEASE 
is  defined, we ' ve been invoked from the

# kernel build system and can use its language.

ifneq ($(KERNELRELEASE),)

    obj
- m : =  hello.o 



# Otherwise we were called directly from the command

# line; invoke the kernel build system.

else



    KERNELDIR 
?=   / lib / modules / $(shell uname  - r) / build

    PWD  :
=  $(shell pwd)



default :

    $(MAKE) 
- C $(KERNELDIR) M = $(PWD) modules

clean:


endif
/**************************************************/

 

在linux2.6的内核下

make -C ~/kernel-2.6 M=`pwd` modules

-C的后面~是kernel的源代码路径,注意后面pwd,不是单引'是tab上面`

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值