当前位置: 技术问答>linux和unix
ldd3 新手问题
来源: 互联网 发布时间:2016-02-29
本文导语: 我用的 是 fc5 内核版本是 2.6.15-1.2054_FC5内核编译过程是按照 这个 步骤进行的 http://blog.csdn.net/yiminglinux/archive/2006/04/19/668813.aspx 其中 我的 hello.c 文件如下: #include #include #include MODULE_LICENSE("Dual BSD/GPL"); st...
我用的 是 fc5 内核版本是 2.6.15-1.2054_FC5内核编译过程是按照 这个 步骤进行的 http://blog.csdn.net/yiminglinux/archive/2006/04/19/668813.aspx
其中 我的 hello.c 文件如下:
#include
#include
#include
MODULE_LICENSE("Dual BSD/GPL");
static int hello_init(void)
{
printk(KERN_ALERT "Hello Worldn" );
return 0;
}
static void hello_exit(void)
{
printk(KERN_ALERT "Goodbye Worldn" );
}
module_init(hello_init);
module_exit(hello_exit);
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
错误原因 如下:
[root@localhost linux-2.6.15.i686]# make
make -C /lib/modules/2.6.15-1.2054_FC5/build M=/usr/src/redhat/BUILD/kernel-2.6.15/linux-2.6.15.i686 modules
make[1]: Entering directory `/usr/src/redhat/BUILD/kernel-2.6.15/linux-2.6.15.i686'
make[1]: *** 没有规则可以创建目标“modules”。 停止。
make[1]: Leaving directory `/usr/src/redhat/BUILD/kernel-2.6.15/linux-2.6.15.i686'
make: *** [default] 错误 2
请问 ,各位大侠 ,我到底是哪里出错了 , 都弄了 好几天了 ,也問了 几个人都还没有弄好阿,我一开始以为是 内核的 问题,不够 我 内核都编译了 三次 了 ,还是 不行,各位能不能帮我看看,本人在此感谢了
其中 我的 hello.c 文件如下:
#include
#include
#include
MODULE_LICENSE("Dual BSD/GPL");
static int hello_init(void)
{
printk(KERN_ALERT "Hello Worldn" );
return 0;
}
static void hello_exit(void)
{
printk(KERN_ALERT "Goodbye Worldn" );
}
module_init(hello_init);
module_exit(hello_exit);
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
错误原因 如下:
[root@localhost linux-2.6.15.i686]# make
make -C /lib/modules/2.6.15-1.2054_FC5/build M=/usr/src/redhat/BUILD/kernel-2.6.15/linux-2.6.15.i686 modules
make[1]: Entering directory `/usr/src/redhat/BUILD/kernel-2.6.15/linux-2.6.15.i686'
make[1]: *** 没有规则可以创建目标“modules”。 停止。
make[1]: Leaving directory `/usr/src/redhat/BUILD/kernel-2.6.15/linux-2.6.15.i686'
make: *** [default] 错误 2
请问 ,各位大侠 ,我到底是哪里出错了 , 都弄了 好几天了 ,也問了 几个人都还没有弄好阿,我一开始以为是 内核的 问题,不够 我 内核都编译了 三次 了 ,还是 不行,各位能不能帮我看看,本人在此感谢了
|
http://community.csdn.net/Expert/topic/5537/5537487.xml?temp=.5052759
|
很明显, 你的问题是, 你的系统内只有新内核, 没有新内核的源代码.
在编译模块代码时找不到相关定义, 虽然头文件能找到, 但那是旧内核的头文件.
在编译模块代码时找不到相关定义, 虽然头文件能找到, 但那是旧内核的头文件.
|
建议内核开发时自己编译安装新内核。开发时都基于自己的新内核来做,这样就不会有这些莫名的错误了。