compilation des sources des
kernels 2.6.20 & 2.6.21 pour l'installation des driver's proprio
nvidia
lors de la compilation du nvidia-kernel-source si le
make bloque sur cette erreur
FATAL: modpost: GPL-incompatible module nvidia.ko uses GPL-only symbol
'paravirt_ops' :
et que la paravirtualisation est
activé sur le noyau ( actif depuis le 2.6.20 )
qu'on verifie avec cette commande
laurent@debian:~$ grep -i paravirt /boot/config-`uname -r`
il va falloir recompiler son noyau et
desactiver la paravirtualisation !!!
[source:cep]
on crée un dossier compile dans son
home
laurent@debian:~$ mkdir ~/compile
Installation des dépendances
#apt-get update
#apt-get install build-essential fakeroot kernel-package libncurses5-dev
Installation des sources
#apt-get install linux-source-2.6.21
on va copier l'archive
dans le dossier compile que l'on viens de créer
#cd /usr/src
#cp /usr/src/linux-source-2.6.21.tar.bz2 /home/laurent/compile/
#exit
on rentre dans le
repertoire compile et on decompresse l'archive et on crée le lien
symbolique
laurent@debian:~$ cd ~/compile
laurent@debian:~$ tar jxf linux-source-2.6.21.tar.bz2
laurent@debian:~$ ln -s linux-source-2.6.21 linux
on va utiliser le fichier
de configuration de la version précédente du noyau (celui qui tourne en
ce moment sur la machine)
laurent@debian:~$ cd linux
laurent@debian:~$ cp /boot/config-$(uname -r) .config
note: pour ceux qui passent d'un ancien noyau au 2.6.21 par
exemple [ probleme posé par mr eclipse !]
***La configuration actuelle étant recopiée pour le nouveau noyau, elle
ne correspond pas forcément avec les nouvelles options. Les nouvelles
options ou celles obsoletes possédent des valeurs par défaut. Lors de
la configuration avec menuconfig ou xconfig, le fichier .config est
analysé et seules les valeurs comprises sont retenues les autres sont
fixées à leurs valeurs par défaut. Ces nouvelles valeurs
n'étant pas forcément optimales pour votre matériel il est possible
d'ajuster la configuration pour cela :
laurent@debian:~$ make oldconfig
Ce qui permet de valider et de définir correctement toutes
les nouvelles options contenues dans la nouvelle version du kernel.
[source de ashgenesis ]
on rentre dans la configuration du
noyau
laurent@debian:~$ make menuconfig
choisir les options a
compiler ,
dans notre cas dans l'option "processor type and features"
on
desactive la paravirtualization support , puis on sauvegarde la config
"save an alternate configuation file " ,
puis
laurent@debian:~$ fakeroot make-kpkg clean
laurent@debian:~$ fakeroot make-kpkg --us --uc --initrd --append-to-version=.`date +%y%m%d` kernel_image kernel_headers
installer le kernel et les headers
on va pouvoir installer le kernel et
les headers
--append-to-version=.`date +%y%m%d` permet de specifier le
jour de la compilation du noyau , regardez ce que cela donne dans
l'exemple ci dessous :
on passe en root
laurent@debian:~$ su
#dpkg -i linux-image-2.6.21.070526_2.6.21.070526-10.00.Custom_amd64.deb
#dpkg -i linux-headers-2.6.21.070526_2.6.21.070526-10.00.Custom_amd64.deb
on se sert de l'autocompletion , c'est a dire on
tape le debut de la ligne et puis on appuie sur la touche tab exemple
dpkg -i linux-image-
dpkg -i linux-headers-
Apres avoir demarré sur le nouveau noyau il ne reste plus qu'a
installer le nvidia
voir nvidia-kernel & module-assistant ici
ici une autre methode pour la
compilation de son noyau