当前时区为 UTC + 8 小时



发表新帖 回复这个主题  [ 4 篇帖子 ] 
作者 内容
1 楼 
 文章标题 : 请教关于内核模块编写的问题
帖子发表于 : 2006-10-05 15:28 

注册: 2006-05-23 15:22
帖子: 2
送出感谢: 0 次
接收感谢: 0 次
我下了linux-source-2.6.15.tar.bz2包,解压后放在/usr/src/linux-source-2.6.15.
这样是不是就已经完成内核树的构造?
然后试着编写‘helloworld'模块,makefile 用最简单的obj-m:=helloworld.o
make -C /usr/src/linux-source-2.6.15 M='pwd' modules 出现错误:
make: Entering directory `/usr/src/linux-source-2.6.15'
Makefile:490: .config: No such file or directory
scripts/Makefile.build:15: /usr/src/linux-source-2.6.15/pwd/Makefile: No such file or directory
make[1]: *** 没有规则可以创建目标“/usr/src/linux-source-2.6.15/pwd/Makefile”。 停止。
make: *** [_module_pwd] 错误 2
make: Leaving directory `/usr/src/linux-source-2.6.15'
请教高手原因??


页首
 用户资料  
 
2 楼 
 文章标题 :
帖子发表于 : 2006-10-06 21:30 
头像

注册: 2005-08-25 13:58
帖子: 808
地址: ustc
送出感谢: 0 次
接收感谢: 0 次
`pwd` not 'pwd'
pwd用'1'左边的键括起来。

一般编译内核模块(2.6),
代码:
sudo apt-get install module-assistant
sudo m-a update
sudo m-a prepare

准备linux-headers

Makefile:
代码:
# if invoked by the Kernel Module Build system
# set obj-m
ifneq ($(KERNELRELEASE),)
        obj-m := your_module.o

# else, invoked from command line directly
else
        KERNELDIR ?= /lib/modules/$(shell uname -r)/build
        PWD := $(shell pwd)

default:
        $(MAKE) -C $(KERNELDIR) M=$(PWD) modules
endif


_________________
爱喝真猪奶茶的夜鸣猪


最后由 nobrain 编辑于 2006-10-07 21:13,总共编辑了 1 次

页首
 用户资料  
 
3 楼 
 文章标题 : 还是没能解决
帖子发表于 : 2006-10-07 14:54 

注册: 2006-05-23 15:22
帖子: 2
送出感谢: 0 次
接收感谢: 0 次
使用了这个makefile:
ifneq ($(KERNELRELEASE),)
obj-m : = hello.o
else
KERNELDIR ?= /lib/modules/$(shell uname -r)/build
PWD := $(shell pwd)
default:
$(MAKE) -C $(KERNELDIR) M=$(PWD) modules
endif

出现一下错误:
make -C /lib/modules/2.6.15-27-686/build M=/home/kinglong/modules modules
make: *** /lib/modules/2.6.15-27-686/build: No such file or directory。 停止。
make: *** [default] 错误 2

请问这是什么原因??


页首
 用户资料  
 
4 楼 
 文章标题 :
帖子发表于 : 2006-10-07 21:15 
头像

注册: 2005-08-25 13:58
帖子: 808
地址: ustc
送出感谢: 0 次
接收感谢: 0 次
KERNELDIR要指定正确根据自己的情况指定。
这个Makefile是按照一般装linux-headers的目录来的。
用m-a prepare来装linux-headers就没问题了。


_________________
爱喝真猪奶茶的夜鸣猪


页首
 用户资料  
 
显示帖子 :  排序  
发表新帖 回复这个主题  [ 4 篇帖子 ] 

当前时区为 UTC + 8 小时


在线用户

正在浏览此版面的用户:没有注册用户 和 3 位游客


不能 在这个版面发表主题
不能 在这个版面回复主题
不能 在这个版面编辑帖子
不能 在这个版面删除帖子
不能 在这个版面提交附件

前往 :  
本站点为公益性站点,用于推广开源自由软件,由 DiaHosting VPSBudgetVM VPS 提供服务。
我们认为:软件应可免费取得,软件工具在各种语言环境下皆可使用,且不会有任何功能上的差异;
人们应有定制和修改软件的自由,且方式不受限制,只要他们自认为合适。

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
简体中文语系由 王笑宇 翻译