Dedinčan odporúča...

VirtualBox logoVirtualBox je virtualizačný nástroj, ktorý umožňuje v jednom operačnom (tzv. hostiteľský) systéme spúšťať druhé (tzv. hosťovské). Samozrejme, môžu to byť rovnaké systémy, ale nemusia, a tak môžete mať v Linuxe nainštalovaný Windows, či naopak.

Jadro 2.6.25 a nVidia

Kategória: Debian GNU/Linux
Upravené: sobota, 19. júl 2008

S potešením som v úložisku vetvy testing zaregistroval nové jadro, trochu zaváhal, ale nakoniec som sa pustil do jeho aktualizácie. Ale beda, v novom jadre sa nedá nainštalovať ovládač grafickej karty nVidia! Prečo je to tak a ako sa nainštalovať dá som zhrnul do tohoto článku.

Prečo som najprv trochu zaváhal? Na nové jadrá sa pozerám s nedôverou a k ich aktualizácii sa staviam negatívne. To neznamená, že neaktualizujem, ale vopred očakávam problémy, ktoré sa mi už dopredu nechce riešiť. Nakoniec sa ale vždy do aktualizácie pustím s nádejou, že teraz už možno problémy nebudú.

Nové jadro na amd64

S inštaláciou nového jadra som začal na mojom stroji, kde mám Debian/testing na architektúre amd64. Keď si odmyslím obligátne problémy so skenerom (Samsung SCX-4200) a s potrebou kompilácie nových modulov pre nVidiu a pre VirtualBox, všetko prebehlo bez problémov. Spomeniem tu aj "problém" s verziou kompilátora. Inštalátor hlási, že jadro je preložené pomocou prekladača gcc-4.1 a preloženie modulu iným prekladačom môže spôsobiť problémy. Na novom jadre som to neskúšal, ale na starších bolo možné pokojne toto hlásenie ignorovať a pokračovať v inštalácii. Toto  správanie možno priamo nastaviť voľbou inštalátora --no-cc-version-check. Ak chcete modul preložiť starším prekladačom, je potrebné nastaviť premennú CC:

export CC=`which gcc-4.1`

Po aktualizácii mi blbol zvuk, konkrétne aRts, ale to asi nesúvisí z jadrom, ale prinútilo ma to konečne pristúpiť k jeho vypnutiu a zvuky riešiť inak. Celkovo môžem skonštatovať, že aktualizácia na architektúre amd64 bola viac-menej bezproblémová.

Jadro na i386

Na druhý deň som sa pustil do aktualizácie druhého stroja. Ten beží na architektúre i386, na ktorej používam jadro *-686. Nainštaloval som nové jadro, reštartoval a pustil sa do inštalácie nvidie. Nastavil som CC a spustil inštalátor. Povzbudený relatívnou bezproblémovosťou na 64 bitovej architektúre som bol optimista. Ale inštalátor skončil chybou:

ERROR: The kernel you are installing for is a Xen kernel! 

The NVIDIA driver does not currently work on Xen kernels. If
you are using a stock distribution kernel, please install
a variant of this kernel without Xen support; if this is a
custom kernel, please install a standard Linux kernel. Then
try installing the NVIDIA kernel module again.

Dosť ma to prekvapilo a naozaj som kontroloval, či som náhodou nenainštaloval jadro *-xen-686, ale nie. Už je to tu!

i386 a jadro amd64

Keďže na 64-b to išlo bez problémov, rozhodol som sa skúsiť jadro *-amd64, keďže v stroji je 64-b procesor. Nainštaloval som ho, reštartoval, stiahol ovládač nvidie x86_64, nastavil CC a spustil ho. A nič, tentokrát s chybou:

./nvidia-installer: No such file or directory

Nastal večer, deti mali ísť spať, tak som v Grube nastavil staré jadro a pokračoval v pátraní na internete. Že o čo to ide. Pátranie som začal práve vzhľadom k poslednej uvedenej chybe a nakoniec som vo fóre na stránkach nVidia našiel príspevok z roku 2005, v ktorom som sa dočítal, že ovládač nVidie v 32-b prostredí so 64-b jadrom proste nerozchodím, lebo to nepodporuje. Takže som sa vrátil k pátraniu, prečo to nefunguje s jadrom 686.

Opäť jadro  686

Najprv ma zaujímalo ako je to s tým Xen (kto nevie, ide o virtulaziáciu). Pri pátraní som narazil na  diskusiu vo fóre Debianu, kde som sa dočítal ako to s tým Xen vlastne je, citáciou z http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=481161 (voľne preložené):

Všetky jadrá 2.6.25 v Debiane majú povolený xen a to preto, aby každý Debian mohol bootovať ako hosť xen. Treba si prečítať changelog...

Dobre, teraz som už vedel s istotou, že som nenainštaloval zlé jadro, ale X server mi to rozbehnúť veľmi nepomohlo. Najmä nie citácia z http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=481485 (voľne preložené):

Vývojári Debianu dajú do poriadku balíček s jadrovými ovládačmi nVidia v úložisku, ale ak používate ovládač priamo z nvidia, musíte si poradiť sami...

Tak som skúsil balíček s ovládačmi z úložiska. Aj toto skončilo neúspechom (asi mojou chybou). Tak som pátral ďalej. Dočítal som sa, že ignorovanie podpory Xen v jadre sa dá vypnúť nastavením premennej IGNORE_XEN_PRESENCE na 1:

export IGNORE_XEN_PRESENCE=1

Plný nádeje som to vyskúšal ... a zase nič. Inštalátor síce postúpil, ale samotný preklad modulu skončil chybou. Keďže sa ale nerád vzdávam, hľadal som ďalej a našiel som!

Riešenie

Pre tých, ktorí mali trpezlivosť dočítať sa až sem ponúkam zopár informácií v našom jazyku, ktoré som našiel v blogu Petra Velichkova How-to Install Nvidia Driver on 2.6.25-2 Debian Kernel (with Xen):

Riešenie, okrem prekladu vlastného jadra, je vlastne jednoduché (zálohujte):

Obídenie podpory Xen
  1. cd /lib/modules/2.6.25-2-686  #prípadne si opravte cestu
  2. grep CONFIG_XEN . -Rl | xargs -i sed -i -e ’s/CONFIG_XEN/CONFIG_LUPO/g’ {}
  3. export IGNORE_XEN_PRESENCE=1
  4. sh NVIDIA-Linux-x86-173.09-pkg1.run #prípadne si upravte verziu a cestu

A ejhľa! Funguje! O čo vlastne ide? najprv sa prepnete do adresára s modulmi príslušného jadra. V ďalšom kroku zameníte všetky váskyty reťazca CONFIG_XEN na CONFIG_LUPO, potom nastavíte premennú pre ignorovanie existencie Xen. No a nakoniec spustíte inštalátor.

Ja som po tomto ešte pre istotu vrátil všetko do pôvodného stavu:

Vrátenie
  1. cd /lib/modules/2.6.25-2-686 #prípadne si opravte cestu
  2. grep CONFIG_LUPO . -Rl | xargs -i sed -i -e ’s/CONFIG_LUPO/CONFIG_XEN/g’ {}

... ale netvrdím, že je to potrebné.

Nie je to jediné riešenie. Na adrese http://techpatterns.com/forums/about933.html rastie projekt sgfxi. Jedná sa vlastne o skript, ktorý stiahne binárny balíček grafického ovládača nVidia alebo ATI, pripraví systém, nainštaluje ovládač, nastaví xorg.conf, a to všetko čistým a intuitívnym spôsobom (preklad z popisu programu). Tento skript som neskúšal, ale reakcie používateľov sú pozitívne, takže skúste.

Pridajte svoj komentár...

    Copyright © 2008 - 2012 Sprievodca dedinčana... Niektoré práva vyhradené.
    Ak nie je uvedené inak, obsah podlieha licencii „Creative Commons Uveďte autora – Zachovajte licenciu 3.0 Unported

    Nenasledovať tento odkaz, inak budete maž zakázaný prístup na stránku!