# [installation] Les modules du noyau

## Biloute

Dans ce chapitre : http://www.gentoo.org/doc/fr/handbook/handbook-x86.xml?part=1&chap=7#doc_chap5

Je cite :

 *Quote:*   

> Vous devriez indiquer la liste des modules que vous souhaitez charger automatiquement dans /etc/modules.autoload.d/kernel-2.6. Vous pouvez également ajouter des options aux modules si vous le souhaitez.

 

Sauf que j'ai rien mis dedans et pourtant les modules sont tout de meme chargés et si je tape le module avec une option alors l'option n'est pas prise en compte.

Alors j'ai regardé ma compilation du kernel :

```
[*] Enable loadable module support  --->

   --- Enable loadable module support

   [*]   Module unloading

   [ ]     Forced module unloading

           [ ]   Module versioning support

   [ ]   Source checksum for all modules

   [ ]   Automatic kernel module loading
```

Normalement ça doit pas charger automatiquement.

Pour moi la documentation officiel est un peu obscure dans ce chapitre.

----------

## GentooUser@Clubic

J'imagine que hal charge les modules pour le matériel détecté.

/etc/modules.autoload sert pour les modules mal détectés ou qui ne sont pas associé a du matériel, genre nf_conntrack_ftp.

Pour passer des options aux modules chargés automatiquement tu as /etc/modules.d (/etc/modprobe.d/ avec un baselayout récent)

----------

## Biloute

Ben j'ai pas installé HAL

----------

## kopp

ce serait pas plutôt udev qui s'occupe de ça ?

----------

## geekounet

Oui c'est udev qui charge tout auto en fonction du matos  :Smile: 

----------

## technick

J'avais mi çe de coté comme explication :

https://forums.gentoo.org/viewtopic-t-69179-view-next.html?sid=3dc064601023e3c8ce3cba378fd38570

----------

## yoyo

 *geekounet wrote:*   

> Oui c'est udev qui charge tout auto en fonction du matos  

 Non non, il y a méprise là !

Udev nomme les périphériques (dans /dev/) qui sont chargés par le noyau. C'est bien le noyau qui détecte et charge les modules (enfin la plupart, d'où le /etc/modules.autoload.d/kernel-2.6 de "Biloute" et l'explication de "GentooUser@Clubic").

C'est d'ailleurs très bien expliqué par "zdra" dans le lien donné par "technick".

 *zdra wrote:*   

> 1) Tout commence au niveau du kernel. C'est lui qui détecte le 1er l'ajout d'un nouveau périphérique. Il charge les drivers (modules) nécessaires au bon fonctionnement du nouveau matériel qu'il auto-détecte tout seul. Toutes les caractéristiques technique que le kernel obtient en interrogeant le matériel sont disponibles dans /sys. Tous les fichiers y sont générés en direct par le kernel et n'ont donc aucune réalité sur le disque dur, et c'est totalement dynamique en fonction des périphériques qu'on ajoute/supprime à chaud. 

 

Et ça se passe via l'option HOTPLUG du noyau activée par défaut pour les systèmes non-embarqués.

Historiquement (et de mémoire), il y avait "coldplug" qui chargeait les modules au démarrage et "hotplug" qui s'occupait des modules chargés à chaud (après l'init du système). Le mécanisme a ensuite été simplifié (suppression de "colplug" : hotplug gère l'ensemble des chargements) puis intégré au noyau (d'ailleurs si quelqu'un à une explication de la raison de cette intégration ça m'intéresse).

Pour revenir au problème de "Biloute", il te faut décharger les modules (via "rmmod" ou "modprobe -r") avant de les recharger en leur passant une option (ou utiliser le fichier indiqué par "GentooUser@Clubic" pour que les options soit utilisées automatiquement lors de leur chargement, soit par le noyau soit par root).

Enjoy !

----------

## geekounet

Heu non, coldplug et hotplug ont été intégré à udev  :Wink: 

D'ailleurs lorsque c'est arrivé l'ebuild d'udev bloquait avec ceux de coldplug et hotplug  :Smile: 

Et le chargement auto des modules se passe quand même au lancement d'udev ern grande partie (pour ce qui concerne le matos), d'ailleurs les initscripts l'affichent, et perso je le vois bien par rapport à l'horodatage des logs du kernel et au fait que ma webcam clignotent au lancement d'udev (le clignotement n'arrivant que quand que le driver se charge).  :Razz: 

Enfin pour l'hotplug, je pense que oui c'est surtout le kernel qui doit gérer maintenant, mais pour le coldplug c'est udev en tout cas.  :Smile: 

----------

## yoyo

 *geekounet wrote:*   

> Heu non, coldplug et hotplug ont été intégré à udev 

 Ah ? Et ça, c'est quoi : 

```
zgrep HOTPLUG /proc/config.gz

CONFIG_HOTPLUG=y
```

  :Razz: 

Enfin, si hotplug et coldplug ont été intégrés à udev, celui-ci s'est bien éloigné de ce pourquoi il a été conçu au départ ...

----------

## geekounet

 *yoyo wrote:*   

>  *geekounet wrote:*   Heu non, coldplug et hotplug ont été intégré à udev  Ah ? Et ça, c'est quoi : 
> 
> ```
> zgrep HOTPLUG /proc/config.gz
> 
> ...

 

C'est une option spéciale embedded et activée de base en général :

```
  │ Symbol: HOTPLUG [=y]

  │ Prompt: Support for hot-pluggable devices

  │   Defined at init/Kconfig:603

  │   Depends on: EMBEDDED

  │   Location:

  │     -> General setup 

  │       -> Configure standard kernel features (for small systems) (EMBEDDED [=n])
```

Et ça joue surtout sur la capacité matérielle du hotplug, genre donner accès au support USB, PCMCIA, Card Express, CPU hotplug, etc, c'est pas du chargement auto des modules  :Wink: 

Le chargement auto des modules, c'est Automatic kernel module loading qui fait ça, le kernel charge les modules automatiquement dés qu'il trouve un matos ou qu'il a besoin d'un feature ou autre, mais... au moment du boot, quand il détecte le matos présent et tout, s'il n'a pas d'initrd de chargé avec tous les modules qu'il lui faut, il peut pas les charger et donc passe son tour, et c'est là que le coldplug d'udev entre en jeu, parce qu'une fois le FS monté, le kernel ne va pas pour autant chercher les modules, et c'est donc udev qui fait le coldplug du matos en chargeant les modules qu'il faut.  :Smile:  Après pour l'hotplug, ouais je pense que le kernel s'en charge tout seul maintenant.

Et sinon, oui udev fait bien plus que de simplement gérer /dev ;p

----------

## yoyo

 *geekounet wrote:*   

> C'est une option spéciale embedded et activée de base en général :
> 
> ```
>   │ Symbol: HOTPLUG [=y]
> 
> ...

 Tu es sûr ? D'après l'aide, j'avais compris au contraire que c'est activé par défaut sur les systèmes standard et que s'était désactivable uniquement pour les systèmes embarqués afin de libérer de la mémoire et des ressources :

```
CONFIG_HOTPLUG:

This option is provided for the case where no hotplug or uevent capabilities is wanted by the kernel.  You should only consider disabling this option for embedded systems that do not use modules, a  dynamic /dev tree, or dynamic device discovery.  Just say Y.
```

Mouais, en te relisant, je pense que c'est ce que tu as voulu dire ...  :Mr. Green: 

Pour le reste, je suis du même avis.  :Wink: 

 *geekounet wrote:*   

> Et sinon, oui udev fait bien plus que de simplement gérer /dev ;p

 Mais c'est honteux !!!

----------

## geekounet

 *yoyo wrote:*   

>  *geekounet wrote:*   Et sinon, oui udev fait bien plus que de simplement gérer /dev ;p Mais c'est honteux !!!

 

Bah ouais, pis c'est toujours comme ça chez GNU, aucun respect de la philosphie UNIX... (alors vive BSD !  :Very Happy:  Mais je m'étendrais pas là dessus dans ce topic  :Razz: )

/me part se promener ailleurs avec son troll...

----------

## yoyo

 *geekounet wrote:*   

> /me part se promener ailleurs avec son troll...

 Tu fais bien ! Tu as frôlé le ban de 15 jours là !!!   :Twisted Evil: 

Enjoy !

----------

## kopp

Je trouve que les modos, ce n'est plus ce que c'était. 

Y a un p'tit jeunot, qui en plus de changer de pseudo, se permet de troller à tout va...

À la grande époque d'Anigel, on ne voyait jamais ça... :p

/me se fait tout petit.

Sinon, je pense que tout ça mériterait une bonne recherche bien profonde, et un bon petit article à la suite. Je pense pas avoir le temps avant un moment mais si j'y pense encore quand j'aurai le temps (ou qu'on me le rappelle) et que personne ne l'a fait, je pourrais m'y coller  :Smile: 

ça fait longtemps que j'ai pas écrit une petite doc ...

----------

## d2_racing

 *kopp wrote:*   

> Y a un p'tit jeunot, qui en plus de changer de pseudo, se permet de troller à tout va...

 

Vous parlez de qui au juste ?

----------

## kopp

 *d2_racing wrote:*   

>  *kopp wrote:*   Y a un p'tit jeunot, qui en plus de changer de pseudo, se permet de troller à tout va... 
> 
> Vous parlez de qui au juste ?

 

Toi t'as pas suivi en cours, hop, deux heures de colles, tu me reliras les dernières pages des chroniques de geek et peut-être que tu apprendras !

----------

## d2_racing

Ok merci  :Razz: 

----------

