Journal noyau & compilation module a la volee

Posté par  .
Étiquettes : aucune
0
30
mar.
2004
bonjour,
je suis desole pour la question de debutant mais je ne trouve pas vraiment de reponses a mon interrogation:p

en gros il y a deux possibilites

soit on compile ds le noyau mes modules dont on a besoin et des qu'un nouveau peripherique arrive il est necessaire de recompiler le noayu pour integrer le nouveau module

soit on a des gros noyaux que font les distrib avec tous pleins de modules dont on ne se sert pas ? mais ds ce cas on se plaint qu'ils sont pas optimises


mais alors pourquoi n'est-il pas possible de compiler les modules a la vole
je m'explique on utilise un noyau minimal au debut des qu'un nouveau perihperique arrive ou des que,l'on a besoin d'une nouvelle option on selectionne le module il est compile puis un modprobe ensiute hop c gagne ?


pourquoi la compilation dun module ne peut-elle pas se faire qd le noyau est en cours d'utilisation???


j'espere que vous m'avez compris !!
alex
  • # Re: noyau & compilation module a la volee

    Posté par  (site web personnel, Mastodon) . Évalué à 3.

    Si, la compilation d'un module peut tout à fait se faire sans avoir à rebooter !
    Pour ça il suffit de sélectionner le module à compiler (avec par ex make menuconfig), et ensuite : make dep modules modules_install
    Ensuite depmod -a, puis un coup de modprobe et le tour est joué.

    WeeChat, the extensible chat client

  • # Re: noyau & compilation module a la volee

    Posté par  . Évalué à 2.

    http://minilien.com/?cYCI7yxwU1(...)

    La procedure là, la page concerne le kernel debian mais à priori cette rubrique particuliere doit marcher avec tout le monde.
  • # Re: noyau & compilation module a la volee

    Posté par  (site web personnel) . Évalué à 1.

    > soit on a des gros noyaux que font les distrib avec tous pleins de modules dont
    > on ne se sert pas ? mais ds ce cas on se plaint qu'ils sont pas optimises

    Je ne connais pas bien la technique mise en jeu mais sauf erreur les modules sont justement là pour ne pas avoir un gros noyeau, et les modules non utilisés ne prennent quasiment que de la place disque (c'est justement la différence par rapport à la compil statique). Pourquoi parler d'optimisation ? ça n'a rien à voir, sauf si tu parles d'optimiser la place disque.


    > on utilise un noyau minimal au debut des qu'un nouveau perihperique arrive ou
    > des que,l'on a besoin d'une nouvelle option on selectionne le module il est
    > compile puis un modprobe ensiute hop c gagne ?

    Ce n'est pas exactement ce qu'il se passe avec les grosses distrib ? sauf que en plus eux ils ont précompilés ton module donc il peut le charger direct sans passer par la case compilation. Mais sinon c'est la même chose : il le charge quand il en a besoin.


    > pourquoi la compilation dun module ne peut-elle pas se faire qd le noyau est
    > en cours d'utilisation???

    Elle peut, nvidia le fait par exemple
  • # Re: noyau & compilation module a la volee

    Posté par  . Évalué à 3.

    Quelques mot sur les modules pour te repondre de facon clair:
    Le kernel est bati a partir d'element indispensable et d'autres facultatif.
    Les elements indipensable ne sont pas demontable et n'apparaisse pas dans la liste des modules.
    A coter de ca, les modules sont des bouts de programme qui fonctionne avec le kernel qui sont compilé une fois quand tu construit le kernel, puis linker statiquement (donc la fonction gerer par ce module est activée au demarrage) au kernel ou alors linker dynamiquement au kernel (insmod, modprobe et autre, la fonction qu'assume ce module ne fonctionne que quand elle est demandé par le root).
    Helas, tout n'est pas aussi beau et certain programmeur n'on pas implementé la double interface avec le kernel et donc le module est obligatoirement static ou dynamique mais pas les deux.
    La solutions retenue pour les distribs est un mixe....un kernel de grosse taille avec tous les modules compilés pour que des logiciels d'autodetection puisse chargé le module adéquat pour la gestion du materiel detecté, l'inconvenient est qu'il faut une bonne connaissance de toutes les cartes y compris exotique pour ne pas charger un module pour une mauvaise utilisation.
    Autre inconvenient , deux modules qui rendent le meme service (interface sonore par exemple) non jamais ete ecris pour cohabiter avec un copains qui fais la meme chose donc cela pause de probleme.....
    Bref la liste est longue pour expliquer l'etat des choses, je m'egare un peut.
    -Pour resumer, la compilation a la volée, non le linkage a la volé oui,c'est deja fait.
    -La detection d'un nouveau peripherique...besoin d'info des contructeurs qui n'en fournisse generalement pas...donc non.
    -Choisir soit meme le bon module, le lier avec le kernel pour que la carte fonctionne..c'est deja fait (si tu as pris la precaution de contruire tout les modules du kernel en mode module lors de ta derniere compil)
    Voila, j'espere avoir repondu a tes questions

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.