歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux教程 >> 讓Ubuntu更新內核時自動編譯官方版Nvidia驅動模塊

讓Ubuntu更新內核時自動編譯官方版Nvidia驅動模塊

日期:2017/2/28 16:40:46   编辑:Linux教程

用nv顯卡的兄弟們估計都經歷過升級新內核後,顯卡驅動又得手動安裝一次。雖然不怎麼難,但是也挺麻煩的。今天在Ubuntuforums.org上看到一篇文章介紹用腳本自動安裝nv驅動的。試了一下可以。把原文稍微整理翻譯了下,跟大家分享一下。

在Ubuntu內核升級後自動安裝nvdia驅動

如果你使用的是在nv的官方網站下載的驅動,每當內核升級後,你必須重新手動安裝nv驅動。本指南目標是當內核升級後自動進行安裝驅動的過程,而不需要手工干預。

本文假定你已經正確的安裝了nvidia官方驅動,並在安裝後已經重啟了至少一次(這非常重要,因為如果你沒有正確安裝並重啟,下述將不能正常工作)。使用非官方驅動的請跳過。

第一步,把你使用的驅動放到/usr/src下,並生成鏈接。例如:

sudo mv NVIDIA-Linux-x86-190.42-pkg0.run /usr/src
sudo ln -s /usr/src/NVIDIA-Linux-x86-190.42-pkg0.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
# 如果nvidia.ko不存在就重新編譯
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

Copyright © Linux教程網 All Rights Reserved