[HowTo] Automatyczne aktualizacje sterowników ze strony NVIDIA po aktual. kernela

Awatar użytkownika
luk1don
Przebojowy Jelonek
Przebojowy Jelonek
Posty: 1768
Rejestracja: 07 lis 2008, 16:17
Płeć: Mężczyzna
Wersja Ubuntu: inny OS
Środowisko graficzne: Inne
Architektura: x86

[HowTo] Automatyczne aktualizacje sterowników ze strony NVIDIA po aktual. kernela

Post autor: luk1don » 13 lip 2009, 17:05

Jeżeli manualnie instalujemy binarne sterowniki do naszej karty graficznej ze strony NVIDIA (nie sposobem Ubuntu) to po każdej aktualizacji wersji kernela musimy dokonywać ich reinstalacji. Stało się to coraz bardziej uciążliwe, gdyż nowe paczki z kernelami pojawiają się coraz częściej, a do tego jeśli lubimy eksperymentować z nowymi kernelami - to jest na to automatyczny sposób.

Działania:
  • Sterowniki umieszczamy w katalogu /usr/src, np. jak zapisaliśmy je na Pulpicie to stosujemy komendę:

    Kod: Zaznacz cały

    sudo mv ~/Pulpit/NVIDIA-Linux-x86-96.43.13-pkg1.run /usr/src
  • Tworzymy link symboliczny do sterownika o nazwie nvidia-driver. Będzie służył on do prostej instalacji, można go zmieniać w razie wydania nowej wersji sterowników, możemy przechowywać zawsze jedną lub więcej wersji sterowników na dysku w tym katalogu:

    Kod: Zaznacz cały

    sudo ln -s /usr/src/NVIDIA-Linux-x86-173.14.05-pkg1.run /usr/src/nvidia-driver
  • Instalujemy sterowniki, pamiętając o wcześniejszym spełnieniu potrzebnych zależności i nie pod uruchomionymi X-ami, konfigurujemy xorga, itd. Nie będę tego opisywał, podam tylko polecenie do instalacji potrzebne w tym wypadku:

    Kod: Zaznacz cały

    sudo sh /usr/src/nvidia-driver
  • Tworzymy skrypt automatycznych aktualizacji o nazwie update-nvidia:

    Kod: Zaznacz cały

    gedit update-nvidia
  • Wklejamy do niego następujący tekst:
#!/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
  • Tworzymy katalog postinst.d:

    Kod: Zaznacz cały

    sudo mkdir -p /etc/kernel/postinst.d
  • Instalujemy w nim skrypt:

    Kod: Zaznacz cały

    sudo install update-nvidia /etc/kernel/postinst.d
Po tych działaniach, kiedy zainstalujemy nowy kernel, który nie posiada modułu NVIDII, będzie on automatycznie budowany i instalowany za każdym razem.
:)
ODPOWIEDZ

Wróć do „Hardware-Multimedia”