![]() |
| Le forum de référence en programmation et développement. Articles, cours et tutoriels du débutant au chef de projet et DBA confirmé. | |||||||
|
|||||||
| Système Vos questions autour de l'administration système |
![]() |
|
|
Outils de la discussion |
|
|
#1 (permalink) |
![]() Date d'inscription: juillet 2003
Localisation: Blois
Âge: 21
Messages: 2 434
|
bonsoir,
j'ai un kernel 2.4.25-2mdk et un 2.6.3-4mdk. je ne dispose que des sources du 2.6.3-4mdk. si je compile le driver nvidia sous le 2.6.3, ça ne fonctionnera pas sous le 2.4.25 (logique !). je voudrais donc pouvoir lancer le driver si le kernel est le 2.6.3 et ne pas le lancer si ce n'est pas le cas... comment je pourrais faire ? merci beaucoup
__________________
Cours systèmes : systèmes temps réels, distribués, embarqués, tolérants aux fautes, parallèles, OS, architectures... Mes articles : php gd, création de dvd vidéo, bootsplash, virtualisation |
|
|
|
|
|
#3 (permalink) |
![]() Date d'inscription: juillet 2003
Localisation: Blois
Âge: 21
Messages: 2 434
|
je vais essayer ça : renommer nvidia.o en nvidia-2.6.3-4mdk.o (donc celui compilé pour le kernel 2.6.3) et faire de même avec nv.o pour ce ça donne nvidia-2.4.25-2mdk.o (donc le pilote fourni par linux)
et voir si XFree86-Config-4 accepte qu'on lui mette Code :
Driver "nvidia-`uname -r`.o"
__________________
Cours systèmes : systèmes temps réels, distribués, embarqués, tolérants aux fautes, parallèles, OS, architectures... Mes articles : php gd, création de dvd vidéo, bootsplash, virtualisation |
|
|
|
|
|
#4 (permalink) |
![]() Date d'inscription: juillet 2003
Localisation: Blois
Âge: 21
Messages: 2 434
|
bien évidemment, ça n'a pas fonctionné (ce n'est qu'un fichier de config).
cependant, je n'ai pas dit mon dernier mot il suffit de créer un service qui va détecter la version du kernel et copier le fichier de config adéquat
__________________
Cours systèmes : systèmes temps réels, distribués, embarqués, tolérants aux fautes, parallèles, OS, architectures... Mes articles : php gd, création de dvd vidéo, bootsplash, virtualisation |
|
|
|
|
|
#5 (permalink) |
|
Membre à l'essai
![]() Date d'inscription: décembre 2003
Messages: 49
|
Les modules compilés exclusivement pour 2.6 portent l'extension .ko donc ton .o est compatible 2.2 et 2.4. Normalement (mais sous Mandrake ce mot a t'il un sens?), donc tu devrait avoir ton module situé dans /lib/modules/2.6.3 et il devrait porter l'extension .ko. Si ce n'est pas le cas, le module est prévu pour fonctionner sous les deux versions et c'est pour çà que le 2.4 essai de l'utiliser.
|
|
|
|
|
|
#7 (permalink) | |
![]() Date d'inscription: juillet 2003
Localisation: Blois
Âge: 21
Messages: 2 434
|
le problème, c'est que je n'ai pas le cd4 de la mdk10.0 (qui contient les sources du noyau 2.4.25) et j'ai qu'un 56k ! donc ça va être un peu dur...
bref, j'ai réussi à faire ce que je voulais, c'est pas très élégant, mais je n'arrive pas à créer un service reconnu par drakxservices donc voici comment j'ai fait : tout se passe en root... j'ai copié le fichier /etc/X11/XF86Config-4 vers deux fichiers distincts. l'un est prévu pour ne pas lancer le module et l'autre pour le lancer. voici le script bash à mettre dans /etc/init.d/. appelez le nvidia Code :
#!/bin/bash . /etc/init.d/functions FILE1="/etc/X11/XF86-2.6.3"; #fichier activant le module (Driver "nvidia") FILE2="/etc/X11/XF86-2.4.25"; #fichier ne l'activant pas (Driver "nv") KERNEL="2.4.25-2mdk"; #version du kernel pour lequel il ne faut pas lancer le module nvidia if [ `uname -r` = "$KERNEL" ]; then cp $FILE2 /etc/X11/XF86Config-4 --reply=yes else cp $FILE1 /etc/X11/XF86Config-4 --reply=yes fi exit 0; avant la ligne 21 Citation:
Code :
/etc/init.d/nvidia &
__________________
Cours systèmes : systèmes temps réels, distribués, embarqués, tolérants aux fautes, parallèles, OS, architectures... Mes articles : php gd, création de dvd vidéo, bootsplash, virtualisation |
|
|
|
|
|
|
#8 (permalink) | |
|
Nouveau membre du Club
![]() |
Citation:
Bon sinon cette solution est assez astucieuse mais pêche sur un point : tu dois maintenir 2 versions du fichier de conf pour xfree... Bon c'est sûr, ce n'est pas si grave si tu ne modifie pas ton fichier souvent, mais t'en rappelleras-tu quand tu feras une modfi pour ajouter tel ou tel périph ? Est ce qu'il ne serait pas possible de le "reconstruire" à chaque fois ? Du style tu parcoures le fichier jusqu'à trouver l'endroit où tu dois choisir le module et tu effaces ce qu'il y a jusqu'à la fin de la ligne et tu mets le nom du module ad hoc. Je pense tu peux faire ça avec gawk ou sed ou grep non ? Sinon, c'est prog... @+ Joe. |
|
|
|
|
|
|
#9 (permalink) |
![]() Date d'inscription: juillet 2003
Localisation: Blois
Âge: 21
Messages: 2 434
|
il est vrai que je pourrais faire comme tu l'indiques, mais point de vue rapidité, c'est peut-être pas le top. cependant, c'est vrai que c'est beaucoup plus propre. si l'action de parser un fichier n'est pas trop longue, je vais tenter de faire comme tu le dis.
lequel de ces deux langages serait le plus rapide pour ce genre d'opréation ? bash ou perl ?
__________________
Cours systèmes : systèmes temps réels, distribués, embarqués, tolérants aux fautes, parallèles, OS, architectures... Mes articles : php gd, création de dvd vidéo, bootsplash, virtualisation |
|
|
|
|
![]() |
![]() |
||
Lancer le module nvidia selon le kernel ?
|
||
| Outils de la discussion | |
|
|