Swisslinux.org

− Le carrefour GNU/Linux en Suisse −

 

Langue

 

Le Forum

Vous n'êtes pas identifié.

#1 28 Dec 2007 21:55:51

Trim
Gourou(e) du libre
Lieu: Saxon, Valais
Date d'inscription: 17 Oct 2007
Messages: 364
Site web

[Modules]Démarrer un module au démarrage[résolu]

Bonjour !

J'étais en train de suivre ce toturial pour créer le module mach64 pour ma carte ATI Rage LT Pro. Ce tutorial est super, mais j'ai un problème à la fin : lorsqu'il faut activer les modules au démarrage (chapitre 1.9). Pour ce faire, ils proposent de modifier/créer un fichier /etc/modules.conf et d'y mettre les lignes :

Code:

pre-install <drm module> /sbin/modprobe "-k" "agpgart"
pre-install agpgart /sbin/modprobe "-k" "<agp chipset driver>"

et de remplacer <drm module> par le driver que j'ai besoin (mach64) et <agp chipset driver> par le chipset de ma carte mère (pour moi intel_agp). Ce qui donne :

Code:

pre-install mach64 /sbin/modprobe "-k" "agpgart"
pre-install agpgart /sbin/modprobe "-k" "intel_agp"

Seulement, j'ai un kernel 2.6.22-3-686 (j'ai Debian Lenny) et le fichier ne doit plus s'appeler modules.conf, mais modprobe.conf . Pour créer ce fichier, j'ai lu "man modprobe.conf" et j'ai remarqué que l'option "pre-install" n'existe plus, mais je n'ai pas réussi à traduire cette commande (et je ne trouve pas le programme generate_modprobe.conf dont le manuel parle).

Pourriez-vous m'aider svp ?

Dernière modification par Trim (13 Jan 2008 15:45:54)

Hors ligne

 

#2 05 Jan 2008 09:09:13

Trim
Gourou(e) du libre
Lieu: Saxon, Valais
Date d'inscription: 17 Oct 2007
Messages: 364
Site web

Re: [Modules]Démarrer un module au démarrage[résolu]

Suite de mes recherches :

J'ai lu cette page pour obtenir plus d'infos sur les modules et j'ai commencé par voir ceci :

Si je fais "$ depmod -a", je vais créer tous les liens  avec les modules dans /lib/modules/version du kernel (or avec le tuto "dri", j'y ai mis le module mach64 dont j'ai besoin). Puis en faisant "$ modprob mach64", il devrait charger le module, mais ici j'ai cette erreure :

FATAL: Error inserting mach64 (/lib/modules/2.6.23-1-686/kernel/drivers/char/drm/mach64.ko): Unknown symbol in module, or unknown parameter (see dmesg)

Là, j'avoue que je ne sais pas quoi faire, sinon relire le tuto "dri" cité au premier message...

Cependant je crois avoir trouvé une solution pour la "traduction" des deux lignes plus haut (crois seulement car le document de léa-linux date de 2000 et que je n'ai pas testé) :

Le fichier /etc/modules.conf ne sert plus et le fichier /etc/modprobe.conf est utilisé à la place. Sa syntaxe est une simplification de la syntaxe de modules.conf. Par exemple, à la place de

Code:

pre-install le_module une_commande_1
post-install le_module une_commande_2

on aura :

Code:

install le_module une_commande_1; modprobe --ignore-install le_module;une_commande_2

EDIT :

Voilà ce que me donne "$ dmesg" :

mach64: disagrees about version of symbol drm_open
mach64: Unknown symbol drm_open
mach64: disagrees about version of symbol drm_fasync
mach64: Unknown symbol drm_fasync
mach64: disagrees about version of symbol drm_poll
mach64: Unknown symbol drm_poll
mach64: disagrees about version of symbol drm_core_get_reg_ofs
mach64: Unknown symbol drm_core_get_reg_ofs
mach64: disagrees about version of symbol drm_pci_alloc
mach64: Unknown symbol drm_pci_alloc
mach64: disagrees about version of symbol drm_irq_uninstall
mach64: Unknown symbol drm_irq_uninstall
mach64: Unknown symbol drm_get_dev
mach64: disagrees about version of symbol drm_ioctl
mach64: Unknown symbol drm_ioctl
mach64: disagrees about version of symbol drm_exit
mach64: Unknown symbol drm_exit
mach64: disagrees about version of symbol drm_getsarea
mach64: Unknown symbol drm_getsarea
mach64: disagrees about version of symbol drm_core_ioremapfree
mach64: Unknown symbol drm_core_ioremapfree
mach64: disagrees about version of symbol drm_core_get_map_ofs
mach64: Unknown symbol drm_core_get_map_ofs
mach64: disagrees about version of symbol drm_init
mach64: Unknown symbol drm_init
mach64: disagrees about version of symbol drm_vbl_send_signals
mach64: Unknown symbol drm_vbl_send_signals
mach64: Unknown symbol drm_cleanup_pci
mach64: disagrees about version of symbol drm_pci_free
mach64: Unknown symbol drm_pci_free
mach64: disagrees about version of symbol drm_core_ioremap
mach64: Unknown symbol drm_core_ioremap
mach64: disagrees about version of symbol drm_mmap
mach64: Unknown symbol drm_mmap
mach64: disagrees about version of symbol drm_core_reclaim_buffers
mach64: Unknown symbol drm_core_reclaim_buffers
mach64: disagrees about version of symbol drm_release
mach64: Unknown symbol drm_release

Dernière modification par Trim (05 Jan 2008 09:23:52)

Hors ligne

 

#3 05 Jan 2008 18:27:27

BOFH
Admin
Lieu: Ecublens, VD
Date d'inscription: 03 Feb 2005
Messages: 862
Site web

Re: [Modules]Démarrer un module au démarrage[résolu]

Hello,

  Apparemment il y a un conflit de versions entre ton module et ton noyau. L'approche diffère d'une distribution a une autre, mais en général:

- Si tu as compilé ton propre noyau, il est préférable de compiler toi même aussi tes modules, plutôz que d'utiliser des modules pré-compilés
- Si tu utilises un noyau pré-compilé, il faut que la version des headers du noyau (qui sont nécessaires pour compiler un module) soient en accord avec la version du noyau
- Il faudrait que tu utilises le même compilateur (au moins même numéro de version mineur) pour compiler le noyau et les modules
- Il ne faudrait pas utiliser un noyau préemptif avec un module compilé pour un noyau non-préemptif, et inversément
- Il ne faudrait pas utiliser un noyau qui supporte le déchargement des modules, avec un module qui ne le supporte pas

Tout ce qui est valable entre un module et un noyau, l'est aussi entre deux modules qui dépendent l'un de l'autre

Après avoir installé de nouveaux modules, il ne faut pas oublier de lancer la commande depmod. Attention, si tu compiles des modules pour une version de noyau différente de la version en cours d'exécution (celle donnée par uname -r), il faut explicitement donner cette version à depmod. Note que les scripts de build du noyau appellent automatiquement depmod si le module les utilise.

Tu peux essayer la commande:

Code:

modprobe --show-depends mach64

pour voir de quels autres modules dépend ce module, et le cas échéant les recompiler ?

Hors ligne

 

#4 05 Jan 2008 19:59:24

Trim
Gourou(e) du libre
Lieu: Saxon, Valais
Date d'inscription: 17 Oct 2007
Messages: 364
Site web

Re: [Modules]Démarrer un module au démarrage[résolu]

Voilà, je viens de faire ce que tu m'as dit :

Code:

$ modprobe --show-depends mach64

insmod /lib/modules/2.6.23-1-686/kernel/drivers/char/agp/agpgart.ko
insmod /lib/modules/2.6.23-1-686/kernel/drivers/char/drm/BACKUP/drm.ko
insmod /lib/modules/2.6.23-1-686/kernel/drivers/char/drm/mach64.ko

Alors je vous éclaire : le tutoriel dri (cité plus haut) m'a fait téléchargé une nouvelle version de dri et la compilé... Avant de le faire, j'ai fait un backup des anciens fichiers modules (en fait avant j'avais fait d'autres essais avec d'autres sites qui m'ont proposé de faire des backup)...

Enfin, je vais déplacer ce dossier, refaire un "depmod -a" et je vous redis (mais je crois que ça ira wink [avec ma chance, ça ne marchera pas tongue])

Edit :

Effectivement, je n'ai pas de chance :

Code:

$ modprobe mach64

FATAL: Error inserting mach64 (/lib/modules/2.6.23-1-686/kernel/drivers/char/drm/mach64.ko): Unknown symbol in module, or unknown parameter (see dmesg)

Code:

$ dmesg

mach64: disagrees about version of symbol drm_open
mach64: Unknown symbol drm_open
mach64: disagrees about version of symbol drm_fasync
mach64: Unknown symbol drm_fasync
mach64: disagrees about version of symbol drm_poll
mach64: Unknown symbol drm_poll
mach64: disagrees about version of symbol drm_core_get_reg_ofs
mach64: Unknown symbol drm_core_get_reg_ofs
mach64: disagrees about version of symbol drm_pci_alloc
mach64: Unknown symbol drm_pci_alloc
mach64: disagrees about version of symbol drm_irq_uninstall
mach64: Unknown symbol drm_irq_uninstall
mach64: Unknown symbol drm_get_dev
mach64: disagrees about version of symbol drm_ioctl
mach64: Unknown symbol drm_ioctl
mach64: disagrees about version of symbol drm_exit
mach64: Unknown symbol drm_exit
mach64: disagrees about version of symbol drm_getsarea
mach64: Unknown symbol drm_getsarea
mach64: disagrees about version of symbol drm_core_ioremapfree
mach64: Unknown symbol drm_core_ioremapfree
mach64: disagrees about version of symbol drm_core_get_map_ofs
mach64: Unknown symbol drm_core_get_map_ofs
mach64: disagrees about version of symbol drm_init
mach64: Unknown symbol drm_init
mach64: disagrees about version of symbol drm_vbl_send_signals
mach64: Unknown symbol drm_vbl_send_signals
mach64: Unknown symbol drm_cleanup_pci
mach64: disagrees about version of symbol drm_pci_free
mach64: Unknown symbol drm_pci_free
mach64: disagrees about version of symbol drm_core_ioremap
mach64: Unknown symbol drm_core_ioremap
mach64: disagrees about version of symbol drm_mmap
mach64: Unknown symbol drm_mmap
mach64: disagrees about version of symbol drm_core_reclaim_buffers
mach64: Unknown symbol drm_core_reclaim_buffers
mach64: disagrees about version of symbol drm_release
mach64: Unknown symbol drm_release

Code:

$ modprobe --show-depend mach64

insmod /lib/modules/2.6.23-1-686/kernel/drivers/char/agp/agpgart.ko
insmod /lib/modules/2.6.23-1-686/kernel/drivers/char/drm/drm.ko
insmod /lib/modules/2.6.23-1-686/kernel/drivers/char/drm/mach64.ko

Donc je vais recommencer l'opération sans dossiers de backup ... et au pire je compile un noyeau en espérant que les modules mach64 y sont (de nouveau) inclus dans les prochaines versions...

Dernière modification par Trim (05 Jan 2008 20:09:19)

Hors ligne

 

#5 08 Jan 2008 20:20:52

Trim
Gourou(e) du libre
Lieu: Saxon, Valais
Date d'inscription: 17 Oct 2007
Messages: 364
Site web

Re: [Modules]Démarrer un module au démarrage[résolu]

Bonjour !

J'ai une bonne nouvelle : lorsque je tappe "$ modprobe mach64" le module est chargé sans problème smile

Seulement, je ne sais toujours pas configurer le fichier modprobe.conf pour que "mach64" soit mit au démarrage et pour que le serveur X fonctione...

Hors ligne

 

#6 13 Jan 2008 15:44:20

Trim
Gourou(e) du libre
Lieu: Saxon, Valais
Date d'inscription: 17 Oct 2007
Messages: 364
Site web

Re: [Modules]Démarrer un module au démarrage[résolu]

J'ai trouvé une solution pour charger mon module au démarrage : il suffit de rajouter le nom du module dans "/etc/modules" (cf ubuntu-fr.org).

Seulement, je ne sais pas comment dire qu'il faut aussi charger le module agpgart et intel_agp , mais ce n'est pas grave car ils sont déjà automatiquement démarrés.

Pour ma 3D, il ne me reste plus qu'une erreur smile... mais ce n'est pas le bon post pour en parler. (le bon poste est  ici)

Dernière modification par Trim (28 Sep 2008 12:56:14)

Hors ligne

 

Pied de page des forums

Powered by FluxBB