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