celestite 发表于 2005-6-23 18:05:05

编译出来的module为什么总是load不了

build出来agpgart module总也load不了.
我的内核版本和所下的内核源码是一个版本号啊.

问一个很弱的问题,我这么编内核module对不对:
我的内核是2.6.9-1.667, 下了kernel-2.6.9-1.667.src.rpm.然后
#rpm -ivh kernel-2.6.9-1.667.src.rpm
#cd /usr/src/redhat/SOURCE 找到linux-2.6.9.tar.bz2 将他解压,然后把解压出来的linux-2.6.9目录移动到/usr/src
之后就在/usr/src/linux-2.6.9下面编module.

#make menuconfig选择module
#make clean
#make modules M=driver/char/agp
把编好的agp*.ko拷到/lib/module/'uname -r'/kernel/driver/char/agp
#depmod -a
#modprobe agpgart
然后就出错.说不匹配
agpgart: version magic '2.6.9-1.667 686 REGPARM gcc-3.4' should be '2.6.9-1.667 686 REGPARM 4KSTACKS gcc-3.4'

如果用#modprobe --force-vermagic agpgart
还是不行,出现如下错误:

agpgart: no version magic, tainting kernel.
agpgart: Unknown symbol copy_from_user
agpgart: Unknown symbol copy_to_user
agpgart: version magic '2.6.9-1.667 686 REGPARM gcc-3.4' should be '2.6.9-1.667 686 REGPARM 4KSTACKS gcc-3.4'agpgart: no version magic, tainting kernel.
agpgart: Unknown symbol copy_from_user
agpgart: Unknown symbol copy_to_user
agpgart: no version magic, tainting kernel.
agpgart: Unknown symbol copy_from_user
agpgart: Unknown symbol copy_to_user
via_agp: no version magic, tainting kernel.
via_agp: disagrees about version of symbol agp_bridge
via_agp: Unknown symbol agp_bridge
via_agp: disagrees about version of symbol agp_remove_bridge
via_agp: Unknown symbol agp_remove_bridge
via_agp: disagrees about version of symbol agp_alloc_bridge
via_agp: Unknown symbol agp_alloc_bridge
via_agp: disagrees about version of symbol agp_add_bridge
via_agp: Unknown symbol agp_add_bridge
via_agp: disagrees about version of symbol get_agp_version
via_agp: Unknown symbol get_agp_version
via_agp: disagrees about version of symbol agp_put_bridge
via_agp: Unknown symbol agp_put_bridge


请问我哪里出错了?
在kernel中编译module是否这个过程?

jiangtao9999 发表于 2005-6-23 20:15:31

必须针对你的内核重新编译!

因为 gcc 和 kernel 所使用的内核也是一个关键因素!

celestite 发表于 2005-6-23 23:41:25

但是我的内核版本和所下module都是一样的,都是2.6.9-1.667啊。
而且gcc也是用FC3自带的,没有变过。。。。。

lqjs 发表于 2005-6-24 07:45:18

via芯片组兼容不好,最好本机器编译!

KDE 发表于 2005-6-25 01:35:09

agpgart: version magic '2.6.9-1.667 686 REGPARM gcc-3.4' should be '2.6.9-1.667 686 REGPARM 4KSTACKS gcc-3.4'agpgart: no version magic, tainting kernel.

这句是关键!你一定在开始编译内核的时候启用了 4K STACKS 支持,而在后来为编译模块而重新配置内核的时候没有启用 4K STACKS 支持,这样的模块当然不能用。

KDE 发表于 2005-6-25 01:36:21

还有一点:如果启用了 4K STACKS 支持,就无法使用 reiserfs4 文件系统!
页: [1]
查看完整版本: 编译出来的module为什么总是load不了