在内核升级后自动安装nvdia驱动

来源:互联网 发布:手机淘宝营销中心 编辑:程序博客网 时间:2024/05/21 17:51
用nv显卡的兄弟们估计都经历过升级新内核后,显卡驱动又得手动安装一次。虽然不怎么难,但是也挺麻烦的。今天在ubuntuforums.org上看到一篇文章介绍用脚本自动安装nv驱动的。试了一下可以。把原文稍微整理翻译了下,跟大家分享一下。 

在内核升级后自动安装nvdia驱动 

如果你使用的是在nv的官方网站下载的驱动,每当内核升级后,你必须重新手动安装nv驱动。本指南目标是当内核升级后自动进行安装驱动的过程,而不需要手工干预。 

本文假定你已经正确的安装了nvidia官方驱动,并在安装后已经重启了至少一次(这非常重要,因为如果你没有正确安装并重启,下述将不能正常工作)。使用非官方驱动的请跳过。 

第一步,把你使用的驱动放到/usr/src下,并生成链接。例如: 
sudo mv NVIDIA-Linux-x86-173.14.05-pkg1.run /usr/src 
sudo ln -s /usr/src/NVIDIA-Linux-x86-173.14.05-pkg1.run /usr/src/nvidia-driver 

这样做的目的是当你更换所用的驱动时,只需要删除原来的链接后再指定新的链接即可,不需要改变我们将使用的脚本(script)。 
自动安装nv驱动的脚本如下: 
代码:
#!/bin/bash
#

# Set this to the exact path of the nvidia driver you plan to use
# It is recommended to use a symlink here so that this script doesn't
# have to be modified when you change driver versions.

DRIVER=/usr/src/nvidia-driver

# Build new driver if it doesn't exist

if [ -e /lib/modules/$1/kernel/drivers/video/nvidia.ko ] ; then

    echo "NVIDIA driver already exists for this kernel." >&2

else

    echo "Building NVIDIA driver for kernel $1" >&2

    sh $DRIVER -K -k $1 -s -n 2>1 > /dev/null

    if [ -e /lib/modules/$1/kernel/drivers/video/nvidia.ko ] ; then

        echo "   SUCCESS: Driver installed for kernel $1" >&2

    else

        echo "   FAILURE: See /var/log/nvidia-installer.log" >&2

    fi
fi


exit 0


基本上,原理是检查新安装的内核是否安装了正确的nv驱动,如果没有,脚本将自动为新内核安装驱动模块。 

把上面的脚本命名为update-nvidia,并通过如下命令安装: 

sudo mkdir -p /etc/kernel/postinst.d 
sudo install update-nvidia /etc/kernel/postinst.d