Noyau 2.6.21-4 et nvidia proprio => FAILED

Le
Yann Cohen
Bonjour,


Noyau installé depuis les dépôt sid.
Version Nvidia proprio : 100.14.09

Lors de l'utilisation du script de compilation et installation voici la
trace qui bloque (extraite du nvdia-installer.log)

FATAL: modpost: GPL-incompatible module nvidia.ko uses GPL-only symbol
'paravirt_ops'

Remarque sur le noyau 2.6.18-4 pas de Pb d'installation de cette
version

Une idée ?

Merci et bonne journée.
Yann.
Questions / Réponses high-tech
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
laurux
Le #9569441
--Signature=_Sun__10_Jun_2007_12_06_11_+0200_hUIWS4zjfbOSErNE
Content-Type: text/plain; charset=ISO-8859-15
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable

Le Sun, 10 Jun 2007 10:02:04 +0200, Yann Cohen a voulu dire :

Bonjour,



[...]
FATAL: modpost: GPL-incompatible module nvidia.ko uses GPL-only symbol
'paravirt_ops'

Remarque sur le noyau 2.6.18-4 pas de Pb d'installation de cette
version...

Une idée ?



Oui, ce problème a été abordé ici il n'y pas si longtemps (les 29/30
mai pour être précis).
Extrait de ma réponse :

"Ceci étant, selon la version du noyau (2.6.20 et
2.6.21), la compilation échouera à moins de recompiler le noyau en
désactivant l'option CONFIG_PARAVIRT (Processor type and features --->
"Paravirtualization support")."

Il faut donc recompiler le noyau en retirant cette option. Ce que j'ai
fait et j'utilise le pilote de Nvidia avec un noyau 2.6.21, en
attendant une solution qui ne nécessite pas de recompiler le noyau.

@+

--Signature=_Sun__10_Jun_2007_12_06_11_+0200_hUIWS4zjfbOSErNE
Content-Type: application/pgp-signature

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.6 (GNU/Linux)

iD8DBQFGa80aEfvBl26bJIkRAqXPAKCth6Xgqg0tjT/EAzMVaoL70F39sACghf6u
V8+4/TNxVL5acGq4DLvV15E =FZeo
-----END PGP SIGNATURE-----

--Signature=_Sun__10_Jun_2007_12_06_11_+0200_hUIWS4zjfbOSErNE--


--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.net/?DebianFrench
Vous pouvez aussi ajouter le mot ``spam'' dans vos champs "From" et
"Reply-To:"

To UNSUBSCRIBE, email to
with a subject of "unsubscribe". Trouble? Contact
Jean-Christophe Dubacq
Le #9786741
On Sun, Jun 10, 2007 at 12:06:11PM +0200, laurux wrote:
Le Sun, 10 Jun 2007 10:02:04 +0200, Yann Cohen a voulu dire :

> Bonjour,

[...]
> FATAL: modpost: GPL-incompatible module nvidia.ko uses GPL-only symbol
> 'paravirt_ops'
>
> Remarque sur le noyau 2.6.18-4 pas de Pb d'installation de cette
> version...
>
> Une idée ?

Oui, ce problème a été abordé ici il n'y pas si longtemps (les 29/30
mai pour être précis).
Extrait de ma réponse :

"Ceci étant, selon la version du noyau (2.6.20 et
2.6.21), la compilation échouera à moins de recompiler le noyau en
désactivant l'option CONFIG_PARAVIRT (Processor type and features --->
"Paravirtualization support")."

Il faut donc recompiler le noyau en retirant cette option. Ce que j'ai
fait et j'utilise le pilote de Nvidia avec un noyau 2.6.21, en
attendant une solution qui ne nécessite pas de recompiler le noyau.




Depuis déjà plusieurs années, je dois régulièrement mettre à jour les
noyaux d'un parc de 80 machines, et parmi ces machines, nombre d'entre
elles (de marque Dell) ont des cartes Nvidia. J'installe donc les
gestionnaires Nvidia, et comme je dois gérer beaucoup de machines, je
l'installe via des paquets Debian.

J'ai dû automatiser la tâche de construire ces paquets. On va me dire «
Il y a module-assistant ». C'est vrai. Mais module-assistant ne fait pas
le paquet en plusieurs versions de façon automatique. De plus, il y a
parfois besoin de bricoler un peu les sources, voire les binaires, comme
depuis le noyau 2.6.18-4 (et le problème d'exportation de symbole
GPL/non-GPL de paravirt_ops).

Donc, j'ai construit mon élevage à modules. Je donne en argument trois
valeurs : la version du noyau pour lequel je veux construire, la version
des sources nvidia et la version des sources nvidia-legacy. Je lance mon
script, et je finis avec le module NVidia et NVidia-legacy compilé pour
les sous-architectures 686, 686-bigmem et k7 (ce sont les différents
types de noyau utilisés sur l'ensemble des 80 machines).

J'ai dû récemment modifier mon script pour qu'il tienne compte du bug
419943 (j'aurais pu mentionné plusieurs bugs spécifiquement sur le
paquet nvidia-kernel-source, comme 420585). J'en ai profité pour
corriger le bug 409204, qui ne nécessitait pas un gros effort.

Je vous livre mon script qui permet de générer le tout. Pour le faire
fonctionner, il faut copier les deux scripts prepare et cmdline-nvidia
dans un répertoire où il peut être exécuté, installer les paquets
nvidia-kernel-source, nvidia-kernel-legacy-source et tous les
nvidia-kernel-headers adéquats (par exemple linux-headers-2.6.21-1-686
si on ne veut que du 686) puis invoquer d'abord prepare puis (après
avoir mis dans le script les numéros convenables) cmdline-nvidia, puis
cmdline-nvidia -legacy. Au bout d'un moment, /var/cache/apt/archives
contient les paquets tout chauds.

Si le noyau doit être patché, il suffit de mettre dans
/usr/src/nvidia-patches le patch en question. Je vous livre le mien en
même temps.

La technique pour faire fonctionner le module même avec paravirt_ops m'a
été inspirée par cet article. Il implique de reconstruire linux-kbuild
en enlevant les deux lignes suivantes (autour de la ligne 1200) :

if (!mod->gpl_compatible)
check_for_gpl_usage(exp->export, basename, exp->name);

Tous mes paquets recompilés sont disponibles sur le miroir partiel que
je gère. N'hésitez pas à recompiler si vous n'avez pas confiance !


Source: http://jean-christophe.dubacq.fr/index.php?post/2007/05/29/Mon-elevage-de-modules-nvidia


--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.net/?DebianFrench
Vous pouvez aussi ajouter le mot ``spam'' dans vos champs "From" et
"Reply-To:"

To UNSUBSCRIBE, email to
with a subject of "unsubscribe". Trouble? Contact
Publicité
Poster une réponse
Anonyme