LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
12
返回列表 发新帖
楼主: zxy

终于搞定linux-image-2.6.20-1-k7上安装nvidia驱动

[复制链接]
发表于 2007-5-11 11:04:57 | 显示全部楼层
我按照hzhr的方法,先解压,在usr/src/nv下找到nv-kernel.o,将其license=NVIDIA,改成
license=GPL后执行nvidia-install,提示如下:
/home/sasa/soft/NVIDIA-Linux-x86-1.0-7185-pkg1/usr/src/nv/nv-kernel.o: file
   not recognized: File format not recognized
   make[3]: *** [/home/sasa/soft/NVIDIA-Linux-x86-1.0-7185-pkg1/usr/src/nv/nvid
   ia.o] Error 1
   make[2]: *** [_module_/home/sasa/soft/NVIDIA-Linux-x86-1.0-7185-pkg1/usr/src
   /nv] Error 2
   NVIDIA: left KBUILD.
   nvidia.ko failed to build!
   make[1]: *** [module] Error 1
   make: *** [module] Error 2
回复 支持 反对

使用道具 举报

发表于 2007-5-11 21:46:55 | 显示全部楼层
你用的什么编辑器啊,要用二进制编辑器,另外注意将 license=NVIDIA 改成 license=GPL 后,要补齐3个 NULL 字符。
Post by ha-exit
我按照hzhr的方法,先解压,在usr/src/nv下找到nv-kernel.o,将其license=NVIDIA,改成
license=GPL后执行nvidia-install,提示如下:
/home/sasa/soft/NVIDIA-Linux-x86-1.0-7185-pkg1/usr/src/nv/nv-kernel.o: file
   not recognized: File format not recognized
   make[3]: *** [/home/sasa/soft/NVIDIA-Linux-x86-1.0-7185-pkg1/usr/src/nv/nvid
   ia.o] Error 1
   make[2]: *** [_module_/home/sasa/soft/NVIDIA-Linux-x86-1.0-7185-pkg1/usr/src
   /nv] Error 2
   NVIDIA: left KBUILD.
   nvidia.ko failed to build!
   make[1]: *** [module] Error 1
   make: *** [module] Error 2
回复 支持 反对

使用道具 举报

发表于 2007-5-13 00:53:53 | 显示全部楼层
Post by zxy
步骤如下
1.apt-get build-dep linux-kbuild-2.6.20
2.apt-get source linux-kbuild-2.6.20
3.编辑linux-kbuild-2.6-2.6.20/scripts/mod/modpost.c,注释掉1197和1198行
4.dpkg-buildpackage -uc -us -rfakeroot,生成linux-kbuild-2.6.20的deb文件
5.安装生成的linux-kbuild-2.6.20的deb文件,安装linux-image-2.6.20-1-xxx,linux-headers-2.6.20-1-xxx
6.下载http://us.download.nvidia.com/XF ... -100.14.03-pkg1.run
7.执行./NVIDIA-Linux-x86-100.14.03-pkg1.run -x
8.编辑usr/src/nv/Makefile.kbuild ,找到EXTRA_CFLAGS += -Wall -Wimplicit -Wreturn-type。。。(第77行)
在后面加2行
PARAVIRT_OPS := $(shell grep "D paravirt_ops" /boot/System.map-$(shell uname -r) | colrm 9)
EXTRA_LDFLAGS := --defsym paravirt_ops=0x$(PARAVIRT_OPS)
9.重新启动,进入2.6.20内核
10.执行./nvidia-installer
:cool:




其实不要这么复杂

打开内核源代码目录下的
arch/i386/kernel/paravirt.c
找到EXPORT_SYMBOL_GPL(paravirt_ops);
改成EXPORT_SYMBOL(paravirt_ops);
再重新编译一下内核就可以了.
回复 支持 反对

使用道具 举报

发表于 2007-5-13 11:52:21 | 显示全部楼层
怎么搞的,这么多不同的方法,x86+etch该用哪个好呢?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-5-13 18:35:43 | 显示全部楼层
Post by anthonyho
其实不要这么复杂

打开内核源代码目录下的
arch/i386/kernel/paravirt.c
找到EXPORT_SYMBOL_GPL(paravirt_ops);
改成EXPORT_SYMBOL(paravirt_ops);
再重新编译一下内核就可以了.
编译kernel的时间太长了,而且kernel source要占几百m硬盘
:!!
回复 支持 反对

使用道具 举报

发表于 2007-5-16 09:53:01 | 显示全部楼层
2.6.20的内核不会这么麻烦吧,以前很容易的
回复 支持 反对

使用道具 举报

发表于 2007-7-19 15:07:44 | 显示全部楼层
3.编辑linux-kbuild-2.6-2.6.20/scripts/mod/modpost.c,注释掉1197和1198行

把fatal改warn就可以了。
不建议改得太过火。

2.6-2.6.21的在靠上面的几行。
回复 支持 反对

使用道具 举报

发表于 2007-7-20 11:33:55 | 显示全部楼层
据说debian下个版本的kernel就改正这个问题了,还是踏实的等着吧
回复 支持 反对

使用道具 举报

发表于 2007-8-13 13:16:22 | 显示全部楼层
Post by dance_linux
赞一个,我的ATI fglrx到现在都还没弄好.....


同感,无奈。
回复 支持 反对

使用道具 举报

发表于 2007-8-13 13:18:02 | 显示全部楼层
ati驱动,需要gtk1支持……我也是开了log才发现的问题
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表