Tinko

@Tinko3年前

2016-04-08
12:22
Tinkoの日常

给CentOS 6装老黄驱动(Nvidia显卡驱动)

考虑到那台CentOS日后可能另作他用,便琢磨着把N卡驱动给装上。
第一步直接lspci,看显卡型号,嗯这台lowB用的是7100,不过应该够用。
然后就是装各种编译环境各种头了

# yum groupinstall "Development Tools"
# yum install kernel-devel kernel-headers dkms

然后去修改mod黑名单,把内置的N卡驱动给ban掉。最初我是按照这个坑逼做的,添加了blacklist nouveau并且注释掉blacklist nvidiafb,注意此处有坑!
然后重建initramfs

# mv /boot/initramfs-$(uname -r).img /boot/initramfs-$(uname -r).img.bak
# dracut /boot/initramfs-$(uname -r).img $(uname -r)

这个需要好一阵,心急的可以另开一个终端然后ls -s看新生成的文件大小估算进度,新生成的稍微会比原来的小一点。
然后修改/etc/inittab,把最后一行“id:5:initdefault:”从5改成3,数字的具体意义在上面那堆注释里面有。改完直接reboot now重启。
重启完之后登录就直接登root好了,毕竟是装驱动嘛。
按照上面提到的那个坑逼,lsmod | grep nouveau之后没看到有加载,我就直接开装了。第一轮提示:有正在运行的X Server,请关闭后重试。

不是你等会解释清楚,啥?

好吧你也解释不清楚,那就退出来,ps-A | grep X看一眼,是不是有X Server。然后蹦出来一个Xvnc……这是我当初装的vnc服务……好吧直接kill,再进去。
这回报错“unable to load the kernel module ‘nvidia.ko’”。又百度了一下(不要吐槽我百度,我们学校网正在大姨妈,我联通的线路还没拉来!),找到这个坑逼,一看,哦,前面那个坑逼可能是从这里抄的……好吧,那就按你说的,带上参数-k $(uname -r) 因为我没报“unable to find the kernel source tree for the currently running kernel”所以我就没给带–kernel-source-path。

一切看似顺利,装到最后报错了!“Unable to load the kernel module”而且还没说明具体是哪个装载不进去!


shenmegui?!!??!

好吧我服。流量走Google,百度信不得!
然而Google也没Google出什么东西,于是我先startx,进去了?!看来X Server都没动到!不过菜单里面多了一项NVIDIA设置,点开报没有使用老黄驱动,请使用nvidia-xconfig然后重试。
好,我Ctrl+Alt+F1切出来然后Ctrl+X停掉X Server,强行跑nvidia-xconfig然后startx,进不去了!报错:
FATAL Error inserting nvidia no such device
nvidia.ko: No such device

Google搜这个报错,好,有东西了!https://bbs.archlinux.org/viewtopic.php?id=87725
里面提到一条命令

dmesg | tail

一敲,提示一大串,核心意思就是加载失败,设备被其他驱动占用,可能是nouveau或者nvidiafb或者其他巴拉巴拉的,注意!坑就在这里!这里就是前面那个坑逼说的把blacklist nvidiafb给注释掉,然后它加载上来了,导致nvidia.ko加载不上!
于是把它加进黑名单,连initramfs都没重建我就重启了。然后再装一遍,完美一遍过!最后把/etc/inittab改回5就好,再重启进图形界面,完结撒花~~~~

最后上两张图庆祝下:

给CentOS 6装老黄驱动(Nvidia显卡驱动)