如果是32位系统的话:
[root@fedora ~]$ yum update kernel
[root@fedora ~]$ yum install kernel-devel
[root@fedora ~]$ bash ./ati-driver-installer-9-8-x86.x86_64.run
安装结果:/usr/share/ati/fglrx-install.log
参考:
如果是64位系统的话:
花了好长时间在网上找,但是还是没有找到,最后自己解决了,实在是简单,呵呵。。
首先,按照32位系统的方法做,但是会出现错误:
make -C /lib/modules/2.6.34.7-56.fc13.x86_64/build SUBDIRS=/lib/modules/fglrx/build_mod/2.6.x modules
make[1]: Entering directory `/usr/src/kernels/2.6.34.7-56.fc13.x86_64'
CC [M] /lib/modules/fglrx/build_mod/2.6.x/firegl_public.o
CC [M] /lib/modules/fglrx/build_mod/2.6.x/kcl_acpi.o
CC [M] /lib/modules/fglrx/build_mod/2.6.x/kcl_agp.o
CC [M] /lib/modules/fglrx/build_mod/2.6.x/kcl_debug.o
CC [M] /lib/modules/fglrx/build_mod/2.6.x/kcl_ioctl.o
/lib/modules/fglrx/build_mod/2.6.x/kcl_ioctl.c: 在函数‘KCL_IOCTL_AllocUserSpace32’中:
/lib/modules/fglrx/build_mod/2.6.x/kcl_ioctl.c:196: 错误:隐式声明函数‘compat_alloc_user_space’
/lib/modules/fglrx/build_mod/2.6.x/kcl_ioctl.c:196: 警告:返回时将整数赋给指针,未作类型转换
make[2]: *** [/lib/modules/fglrx/build_mod/2.6.x/kcl_ioctl.o] 错误 1
make[1]: *** [_module_/lib/modules/fglrx/build_mod/2.6.x] 错误 2
make[1]: Leaving directory `/usr/src/kernels/2.6.34.7-56.fc13.x86_64'
make: *** [kmod_build] 错误 2
build failed with return value 2
[Error] Kernel Module : Failed to compile kernel module - please consult readme.
[Reboot] Kernel Module : dracut
|
解决方法:
编辑/lib/modules/fglrx/build_mod/2.6.x/kcl_ioctl.c ,在里面加上
compat_alloc_user_space
函数的定义,其内容是:/usr/src/kernels/2.6.34.7-56.fc13.x86_64/arch/x86/include/asm/compat.h中的
arch_compat_alloc_user_space
函数的内容。(就是把
arch_compat_alloc_user_space
函数拷贝过来,把名字改成
compat_alloc_user_space
就行了),例如:
/lib/modules/fglrx/build_mod/2.6.x/kcl_ioctl.c:
....
46 #include "kcl_config.h"
47 #include "kcl_osconfig.h"
48 #include "kcl_type.h"
49 #include "kcl_ioctl.h"
50 #include "kcl_io.h"
51
52 static inline void __user *compat_alloc_user_space(long len)
53 {
54 struct pt_regs *regs = task_pt_regs(current);
55 return (void __user *)regs->sp - len;
56 }
57
58 #ifdef __x86_64__
59
60
....
|
其实,简单一点,就把这个文件里的函数名子前面加上“arch_”就行了。-------------------------------------------------------------------------------
如果更新了内核版本的话,要重新编译模块:
cd /lib/modules/fglrx/build_mod
./make.sh
cd ../
./make_install.sh
阅读(1268) | 评论(0) | 转发(0) |