next up previous contents Next:  Sources de documentation des Up:  Options des modules et Previous:  Options des modules et   Table des matières  


43.5.1  5 manières de passer des options à un module.

  1. Si un module a été compilé dans le noyau, il sera initialisé au moment de l'amorçage. lilo passe des options du module au noyau, depuis la ligne de commande, derrière l'invite LILO:. Par exemple, vous pouvez saisir (voir la section 5.4):

    linux aha1542=<portbase>[,<buson>,<busoff>[,<dmaspeed>]] 


    afin d'initialiser le pilote SCSI Adaptec 1542. Que représentent ces options? La réponse peut être obtenue en consultant le fichier /usr/src/linux/`uname -r`/drivers/scsi/aha1542.c. Les commentaires explicitant la signification de ces options se trouvent au début du fichier.

  2. Si vous utilisez LOADLIN.EXE, ou d'autres chargeurs de noyau DOS ou MS-Windows, vous pouvez aussi passer des options. Toutefois, nous n'irons pas plus loin pour ce cas.

  3. /etc/lilo.conf peut prendre une option append =, tel que cela a été discuté à la page 32.3. Cette méthode permet de passer des options au noyau comme si vous les saisissiez derrière l'invite LILO:. La ligne lilo.conf équivalente est:

    append = aha1542=<portbase>[,<buson>,<busoff>[,<dmaspeed>]] 


    Ceci constitue la méthode la plus courante pour passer des options au noyau.

  4. Les commandes insmod et modprobe peuvent aussi prendre des options qui sont passées au(x) module(s). La méthode est assez différente par rapport à append =. Par exemple, vous pouvez passer des options à un module Ethernet (compilé en dur) avec les commandes suivantes:

    append = ether=9,0x300,0xd0000,0xd4000,eth0 
    append = ether=0,0,eth1 


    et ce, depuis le fichier /etc/lilo.conf. Cependant, si vous utilisez modprobe dans le cas des mêmes modules compilés en-dehors du noyau, les options devront être spécifiées de la manière qui suit:

    modprobe wd irq=9 io=0x300 mem=0xd0000 mem_end=0xd4000 
    modprobe de4x5 


    Notez que les paramètres 0xd0000, 0xd4000 sont seulement applicables à quelques cartes Ethernet et qu'ils sont usuellement omis. Sachez aussi que les 0 dans l'expression ether=0,0,eth1 signifient que l'autodétection doit être appliquée. Pour déterminer les options qu'un module peut prendre, vous utiliserez la commande modinfo qui montre que le pilote wd est un des quelques pilotes Ethernet pouvant déterminer leur propre usage RAM [ce point ne sera pas discuté plus avant, mais les cartes peuvent parfois utiliser des zones de la mémoire de manière autonome]:

    [root@cericon]# modinfo -p /lib/modules/<version>/net/wd.o 
    ( [root@cericon]# modinfo -p /lib/modules/<version>/kernel/drivers/net/wd.o ) 
    io int array (min = 1, max = 4) 
    irq int array (min = 1, max = 4) 
    mem int array (min = 1, max = 4) 
    mem_end int array (min = 1, max = 4) 

  5. Le fichier /etc/modules.conf [parfois appelé /etc/conf.modules, une dénomination désormais obsolète] contient les options, par défaut, relatives à modprobe, au lieu que celles-ci soient passées en ligne de commande derrière modpro_be. Il s'agit de la méthode préférentielle et la plus populaire pour passer des options de modules. Concernant notre exemple Ethernet, nous aurions:

    alias eth0 wd 
    alias eth1 de4x5 
    options wd irq=9 io=0x300 mem=0dx0000 mem_end=0xd4000 


    Le fait d'avoir construit un fichier /etc/modules.conf permet le chargement dynamique des modules. Ceci signifie que le noyau charge automatiquement les modules nécessaires au cas où le pilote est requis (de la même manière que lorsqu'ifconfig est utilisé pour les périphériques Ethernet). Le noyau essaie simplement /sbin/modprobe eth0, et la ligne alias informe modprobe d'exécuter /sbin/modprobe wd. Par ailleurs, la ligne options signifie qu'il faut exécuter /sbin/modprobe wd irq=9 io=0x300 mem=0xd0000 mem_end=0xd4000. De cette manière, /etc/modules.conf consiste en une table de correspondances ``périphériques - pilotes''.


next up previous contents Next:  Sources de documentation des Up:  Options des modules et Previous:  Options des modules et   Table des matières  
1-01-2006