Hello Frédéric,
Frédéric a écrit :
> Je viens de mettre à jour la machine du club photo (debian lenny), et j'ai
> 2 soucis lors de la compilation de modules :
>
> 1) nvidia : il gueule à propos du support Xen dans le noyau. Kesako ? Je
> n'ai jamais eu ce soucis sur mes autres machines utilisant le même noyau
> (2.6.25-686)...
Il parle de Xen, ou de paravirtualisation ?
D'habitude, c'est la paravirtualisation qui pose problème. Chez moi:
$ grep -i paravirt /boot/config-2.6.25 (*)
# CONFIG_PARAVIRT_GUEST is not set
ce qui as pour effet d'aussi désactiver les modules Xen...
(*): config-2.6.25 est le kernel que j'ai compilé à la main. Le kernel
officiel Lenny est (pour l'instant) config-2.6.25-2-686
Donc tu as le même problème que Hervé la semaine dernière : Tu dois
compiler ton kernel à la main, en désactivant la paravirtualisation.
Suit la procédure en attachement que j'ai écris, cela marchera mieux
--
~~~~~~~ _____/\_____ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Phoenix / _ \/ _ \ Olivier Allard-Jacquin
/ / \ / \ \ Web: http://olivieraj.free.fr/
/___/ / \ \___\ Mail: olivieraj@???
~~~~ ///// ///\\\ \\\\\ ~~~~~~~~~~~~~~~~~~~~~~~ Linux Powered !!
Installation des drivers nVIDIA propriétaires
sur une Debian testing
en utilisant le binaire nVIDIA (NVIDIA-xxxxxx.run)
et NON PAS les packages officiels Debian
2008/05/28
L'intérêt de cette méthode est que :
- au jour où j'écris ces lignes, les derniers drivers nVIDIA ("100.14.19") NE sont PAS disponibles dans "Debian testing"
- les drivers nVIDIA propriétaires sont incompatibles avec le kernel par défaut de "Debian testing", du fait de l'utilisation de l'option "Paravirtualization support (EXPERIMENTAL)" (aka "CONFIG_PARAVIRT")
- le dernier kernel ("2.6.24-1") est compilé avec une version de GCC moins récente que celle fournit par "Debian testing"
# Mise à jour de la distribution :
aptitude update
aptitude full-upgrade
# Installation des packages de compiation :
aptitude install gcc make
# Installation des headers du kernel :
aptitude install linux-headers-2.6-686
Remarque:
- on utilise ici "linux-headers-2.6-686", mais cela peut ne pas être toujours le cas, notamment pour un kernel > 2.6, ou non-686 (amd64 par exemple)
- cette commande ne sert à rien, car le "NVIDIA-xxxxxx.run" ne pourra pas s'installer, du fait que la version gcc qui est installée (4.2) est différente de celle utilisé pour compiler le kernel (4.1). A cause de cela, il faudra donc compiler soit-même un kernel. C'est ce que nous voyons ci-dessous
# Installation des sources du kernel :
aptitude install linux-source-2.6.24
# Installation des outils/librairies de compilation du kernel et de xorg :
aptitude install pkg-config modutils module-init-tools kernel-package build-essential bzip2 xserver-xorg-dev
# Vérification de la non-installation des package nvidia Debian :
dpkg -l |grep -i nvidia
aptitude remove --purge nvidia-glx nvidia-kernel-common
Remarques :
- ' ls -la /etc/init.d/nvidia-glx /etc/init.d/nvidia-kernel ' doit ne RIEN retourner. Si ces fichiers existent, les supprimer
# Compilation du kernel :
cd /usr/src
tar xjf linux-source-2.6.24.tar.bz2
ln -s linux-source-2.6.24 linux
cd linux
make menuconfig
- Sélectionner la section "Processor type and features"
- Décocher "Paravirtualization support (EXPERIMENTAL)"
- Sélectionner "Exit"
- Sélectionner "Exit"
- Sauver le ".config"
- "grep -i CONFIG_PARAVIRT .config" doit renvoyer "# CONFIG_PARAVIRT is not set"
make-kpkg clean
export CONCURRENCY_LEVEL=4
Remarque : Je configure la variable "CONCURRENCY_LEVEL=4", afin de pourvoir bénéficier des capacités multicore de mon processeur (option "-j 4" de "make")
make-kpkg --rootcmd fakeroot --initrd --revision nv.169.12.001 -stem linux kernel_image kernel_headers
Remarque : Le numero de révision ("nv.169.12.001", pour "nVIDIA / 169.12 / compilation 001) ne doit contenir QUE des caractères alphanumériques, des caractères + et . (voir à ce sujet, "man make-kpkg" et le paramètre "--revision"). Le nom du kernel créé sera alors : "2.6.24-nv.169.12.001"
cd ..
dpkg -i linux-image-2.6.24_nv.169.12.001_i386.deb linux-headers-2.6.24_nv.169.12.001_i386.deb
# Vérification de la bonne installation du kernel :
ls -la /boot | grep 2.6.24
(les fichiers suivants doivent être présents :
config-2.6.24
initrd.img-2.6.24
vmlinuz-2.6.24
System.map-2.6.24
)
dpkg -l |grep 2.6.24
(on doit trouver :
ii linux-headers-2.6.24 nv.169.12.001 Header files related to Linux kernel, specif
ii linux-image-2.6.24 nv.169.12.001 Linux kernel binary image for version 2.6.24
)
# Utilisation des packets compilés par moi-même :
Si vous voulez vous économiser la phase de compilation, je mets à disposition sur
http://olivieraj.free.fr/temp/debian/ les paquets "kernel" et "headers" générés par la compilation d'aujourd'hui. Ils sont valables pour une confguration x86 (et NON PAS pour de l'AMD64 bit) :
-
http://olivieraj.free.fr/temp/debian/linux-headers-2.6.22_nv.100.14.19.001_i386.deb
-
http://olivieraj.free.fr/temp/debian/linux-image-2.6.22_nv.100.14.19.001_i386.deb
-
http://olivieraj.free.fr/temp/debian/MD5SUM
Après le téléchargement, il faudra passer par l'étape :
dpkg -i linux-image-2.6.22_nv.100.14.19.001_i386.deb linux-headers-2.6.22_nv.100.14.19.001_i386.deb
# Reboot
Reboot de la machine
Au démarrage, sélectionnez le kernel nouveau "2.6.24" et non pas le kernel officiel ("2.6.24-1-686" par exemple)
# Télechargement et installation des drivers nVIDIA:
Aller sur
http://www.nvidia.com/Download/index.aspx?lang=en-us , et télécharger le driver adéquat ("NVIDIA-Linux-x86-196.12-pkg1.run" dans mon cas)
# Installation du driver NVIDIA propriétaire
Femer toutes les application
Passer en mode console (Ctrl+Alt+F1)
Se loguer en root
Arrêter X:
- Si on utilise KDE: /etc/init.d/kdm stop
- Si on utilise Gnome: /etc/init.d/gdm stop
Installer le driver nVIDIA propriétaire :
bash NVIDIA-Linux-x86-196.12-pkg1.run
Redémarrer X :
- Si on utilise KDE: /etc/init.d/kdm start
- Si on utilise Gnome: /etc/init.d/gdm start
Au démarrage, un gros logo "nVIDIA" doit apparaître