HOGYAN: NVidia driverek a -test kernelekhez

Címkék

A héten volt szó a 2.6.0-test1 kernel és az NVidia bináris driver összegyúrásáról. A kapott levelek számából ítélve nem mindenkinek volt érthető az angol doksi (vagy csak nem sikerült a valamiért a telepítés) ezért készítettem egy (pontosabban két) megpatchelt NVidia drivert a 2.6.0-test1 és 2.6.0-test1-ac2 kernelekhez. Az egyik a kicsit régebbi 1.0-4191 (x86) driver, a másik pedig a legutolsó 1.0-4363 (x86) meghajtó.

Ma volt a napja, hogy átállítottam az itthoni desktop gépemet is a 2.6.0-test1(-ac2) kernelre. A notebookomon már napok óta jól vizsgázott (a 2.5.70 óta fut azon élesben a fejlesztői kernel széria) úgyhogy gondoltam itt az ideje a váltásnak.

Az NVidia driver telepítésének módja (2.6.0-test1-ac2):1.) Letöltöd a 2.6.0-test1 forrását innen

2.) Kibontod a /usr/src/ könyvtárba, készítesz rá symlinket "linux" néven

3.) letöltöd a 2.6.0-test1-ac2 foltot innen, megpatcheled a kernelforrást

  • bemásolod a foltot a kernel könyvtárba
  • bunzip2 -cd patch-2.6.0-test1-ac2.bz2 | patch -p1


3.) Beállítod a kernelt ízlés szerint, figyelve arra, hogy teszel bele "Loadable kernel module" támogatást

4.) Lefordítod a kernelt

  • Make (nem kell sem dep sem clean sem bzImage)
  • make modules_install


5.) szerkeszted az aktuális loader konfot

6.) rebootolsz

Ezzel fut a 2.6.0-test1-ac2 kernel. Lássuk az NVidia modul részt:

Ezzel nem olyan egyszerű az élet, hiszen csak a 2.4-es kernellel való futásra van gyárilag felkészítve. Meg kell erőszakolni egy kicsit.

Töltsd le az NVidia gyár binárist az www.nvidia.com-ról. Most a legutolsó kiadást használjuk:

1.) Letöltöd a 1.0-4363 meghajtót.

2.) Sokan itt véreznek el, hiszen ez egy saját magát kibontó telepítőcsomag, de meg kellene patchelni. Így .run állapotban nehéz, ezért ki kell nyerni a forrást belőle

  • chmod 755 NVIDIA-Linux-x86-1.0-4363.run (hogy fusson is)
  • ./NVIDIA-Linux-x86-1.0-4363.run --extract-only


3.) cd NVIDIA-Linux-x86-1.0-4363/usr/src/nv/

4.) Töltsük le a www.minion.de oldalról a szükséges foltot. Ez a NVIDIA_kernel-1.0-4363-2.5.diff névre hallgat

5.) másoljuk a .diff filet az NVIDIA-Linux-x86-1.0-4363/usr/src/nv/ könyvtárba

6.) cat NVIDIA_kernel-1.0-4363-2.5.diff | patch -p1 (ezzel a foltozás kész is)

7. Két Makefile is található a könyvtárban, de egyik sem a Makefile névre hallgat. Így nehéz lenne fordítani ezért készítünk egy symlinket. Hogy melyikre? A Makefile -> Makefile.kbuild (hogy kihasználhassuk a 2.6-os kernel új fordítási infrastruktúráját. Azaz ln -s Makefile Makefile.kbuild

8.) make

Ezzel az NVidia kernel driver elkészült. Ahhoz, hogy használni is lehessen sajnos ez még kevés. Kell a Rusty Russel féle új modul kezelő utility csomag. Ezt vagy letöltöd innen , lefordítod és telepíted, vagy ha Debian (Sarge vagy Sid) felhasználó vagy akkor az

apt-get install module-init-tools

parancs kiadásával telepítheted egyszerűen.

Az új 'insmod' paranccsal betölthető a lefordított NVidia kernelmodul. A régi insmod nem kompatibilis az új kernelekkel.



Akik türelmetlenek, és nem akarnak forgatni azoknak itt vannak a binárisok (gcc 2.95-tel fordítva, akinek a kernele 3.x gcc vel van készítve, azoknak úrja kell forgatni a drivert forrásból!):



http://www.hup.hu/old/stuff/nvidia/2.6.0/



2.6.0-test1

NVIDIA-Linux-x86-1.0-4363/nvidia.ko

NVIDIA-Linux-x86-1.0-4363/nvidia.o



NVIDIA_kernel-1.0-4191/nvidia.ko

NVIDIA_kernel-1.0-4191/nvidia.o



2.6.0-test1-ac2

NVIDIA-Linux-x86-1.0-4363/nvidia.ko

NVIDIA-Linux-x86-1.0-4363/nvidia.o


NVIDIA_kernel-1.0-4191/nvidia.ko

NVIDIA_kernel-1.0-4191/nvidia.o



Vagy azoknak akik maguk szeretnék forgatni, itt a patchelt gyári bináris "forrás" powerpack:



NVIDIA-Linux-x86-1.0-4363-test1-ac2.tar.gz



Tesztelve:

Unreal Tournament, Unreal Tournament 2003, RtCW: Enemy Territory