
                              Mini-howto Modules

rhw@bigfoot.com

   date ?
     _________________________________________________________________

   _Vendredi 14 janvier 1998. traduit par Frdric Gacquer
   gacquer@neuronnexion.fr_
     _________________________________________________________________

1. But de ce document

   Les documents existants sur linux et les modules n'ont pas russi  me
   fournir une explication satisfaisante comme par exmple la faon
   d'installer linux avec succs avec les modules configurs et
   oprationnels. La procdure explique dans ce document a t utilise
   avec succs plusieurs fois, aussi bien sur mon propre systme que sur
   Internet pour donner des indications  quelqu'un essayant de faire
   fontionner un lment qui requiert un driver fourni seulement sous
   forme de module.

   Mon prope systme a t install  partir d'une distribution linux
   Redhat 4.1, et ce fut lors de cette installation que j'ai dvelopp
   cette procdure. Je l'ai installe depuis avec succs sur plusieurs
   systmes avec la distribution slackware, et sur un systme avec une
   distribution Debian. La procdure qui permet de configurer
   correctement les modules sous linux pour ces trois distributions est
   dans ce document.

2. AVERTISSEMENT

   J'ai rcemment utilis la mme procdure avec la RedHat 4.2, mais avec
   des rsultats contradictoires sur des systmes apparement identiques.
   Je n'ai PAS encore dtermin quel est le problme, et ne peut donc PAS
   garantir aujourd'hui que cela va ou non fonctionner sur votre systme.

3. Prrequis

   Avant d'appliquer les tapes de ce document, le lecteur DOIT avoir
   install linux pour que l'on puisse se connecter en tant que root, car
   la majorit des tapes impliques ne peuvent tre entreprises que par
   le dit utilisateur.

   Le noyau existant peut tre compil soit pour utiliser les modules
   soit pour ne pas les utiliser. Il peut mme afficher des messages
   d'erreurs pendant le dmarrage du systme signalent les modules
   configurs qui ne sont pas disponible pour l'instant, pourvu que la
   condition ci-dessus soit remplie.

   L'emplacement du source du noyau en cours est suppose se trouver  la
   racine /usr/src/linux qui est suppos tre le rpertoire courant, au
   travers de ce document, de n'importe quelle commande qui en est issue.

4. Acclrer la compilation

   Si votre machine a 16 mga ou plus de RAM, on peut acclrer utilement
   les choses en permettant de compiler plusieurs modules en parallle.
   Cela augmentera la charge cpu de la machine pendant la recompilation
   du noyau mais rduira le temps pendant lequel la compilation
   s'effectuera.

   Avant d'utiliser cette mthode, vous devez vrifier la quantit de RAM
   prsente dans votre machine, car si vous l'avez estime trop grande,
   la compilation va en fait tre moins rapide. L'exprience a montre
   que la valeur optimum dpend de la quantit de RAM dans votre systme
   selon la formule suivante, au moins pour les systmes qui ont jusqu'
   32 Mo de RAM, mme si elle est applicable aux systmes avec une plus
   grande quantit de RAM:

N= [RAM en Mo] / 8 + 1

   Pour ceux qui n'aime pas les maths, les valeurs pour les quantits
   courante de RAM sont :

   La valeur  utiliser avec
     * 16 Mo 3
     * 24 Mo 4
     * 32 Mo 5
     * 40 Mo 6
     * 48 Mo 7
     * 56 Mo 8
     * 64 Mo 9
     * 80 Mo 11
     * 96 Mo 13
     * 112 Mo 15
     * 128 Mo 17

   Quand vous avez choisi la valeur correcte, diter le fichier
   /usr/src/linux/Makefile et trouver la ligne :

MAKE=make

   La remplacer par:

MAKE=make -j N

   o N est le nombre calcul prcdemment.

5. Recompiler le noyau avec les modules

   Le noyau peut tre reconfigur pour utiliser les modules pour tout
   sauf le systme de fichier mont root (dans la plupart des cas, c'est
   le systme de fichier ext2).

   Cependant, il y a certains lments qui semble difficle  installer
   proprement en tant que modules, aussi je propose de compiler dans le
   noyau:

     * Les pilotes des cartes ethernet
     * Les pilotes des CDROMs SCSI.

   D'autre part, il y a certaines combinaisons de pilotes qui ne
   fonctionne QUE comme module, particulirement la combinaison d'un ou
   plusieurs des groupes suivants :

     * L'imprimante parallle
     * Un pilote de port parallle, comme le lecteur Zip de IOMEGA ou le
       lecteur Jazz, ou le CDROM de chez BackPack, et
     * Le dmon PLIP

   Vous aurez  dcider de ce qui sera compil dans le noyau, ou comme
   module, en prenant en compte les points cits ci-dessus. Les vrais
   choix seront fait durant la compilation, au moment de la squence
   d'instructions suivante :

   cd /usr/src/linux
   make menuconfig
   make dep clean modules modules_install zImage

   Aprs cela, les dpendances de modules doivent tre rfrences. C'est
   accompli par les commandes suivantes:

   depmod -a

   Maintenant le nouveau noyau a besoin d'tre insr dans la squence
   d'initialisation du boot. Je vais supposer que le lecteur utilise LILO
   dans ce but, puisque c'est le seul gestionnaire de boot que j'ai
   utilis.

   Je recommande que le nouveau noyau ne soit pas insr comme tant le
   noyau linux par dfaut car s'il plante, il sera extrmement difficile
   de rcuprer le setup linux sans refaire une complte rinstallation,
   ce qui n'est pas recommand. Pour cette raison, j'ai les entres
   suivantes dans mon fichier /etc/lilo.conf :

   image=/usr/src/linux/arch/i386/boot/zImage
      label=new
      alias=n
      read-only
      vga=ask
      optional

   Cette entre indique qu'il y a une OPTION de boot (ignore si l'image
   en question n'existe pas) qui charge le fichier /boot/newlinux s'il
   est slectionn, et permet de slectionner le mode vido dans lequel
   il sera excut.

   Supposant l'existence de l'entre ci-dessus dans /etc/lilo.conf le
   noyau modifi est sauvegard au bon endroit  la fin de la
   compilation, et il peut tre install via les commandes suivantes:

   lilo

   Ayant fait cela, le lecteur a besoin de suivre les tapes suivantes
   qui dpendent de la distribution choisie :

     * Configurer Debian ou la Redhat pour les modules
     * Configurer la Slackware pour les modules
     * Configurer les autres distributions pour les modules

5.1 Configurer Debian ou la Redhat pour les modules

   Avant la prise en compte des oprations dcrites ici, celles listes
   dans "Recompiler le noyau" pour les modules sont supposes ralises.

   La distribution Debian et la Redhat ont des procdures de boot
   identiques, et ont aussi des procdures identiques pour configurer les
   modules inclus.

   1. vous tant connect root, utiliser votre diteur de texte favori
   pour crer un nouveau fichier appel /etc/rc.d/init.d/modules.init
   avec le contenu suivant :

   # Initialisation des modules
   #
   # Dmarrer dmon d'auto-chargement des modules
   /sbin/kerneld

   # Monter toutes les partitions courantes auto-montables non montes
   /sbin/mount -a

   2. Ayant cr le fichier ci-dessus, excuter les tapes suivantes
   alors que vous tes connect root:

   cd /etc/rc.d
   chmod 755 init.d/*
   cd rc3.d
   ln -s ../init.d/modules.init 05modules.init

   Le systme peut tre relanc, les modules sont alors implments.

5.2 Configurer la Slackware pour les modules

   Avant la prise en compte des oprations dcrites ici, celles listes
   dans "Recompiler le noyau" pour les modules sont supposes ralises.

   1- Le fichier /etc/rc.d/rc.M doit tre diter comme suit :

     * Aux alentours de la ligne 18, il y a une section du style :

   # Screen blanks after 15 minutes idle time.
   /bin/setterm -blank 15

       Juste aprs, insrer le paragraphe suivant, avec les
       traditionnelles lignes blanches au dessus et en dessous:

   # Charger le chargeur automatique de module noyau
   /sbin/kerneld

     * A peut prs 12 lignes plus loin il y a ce qui suit :

   # if there is no /etc/HOSTNAME, fall back on this default:
   Immediately prior to this, insert the following paragraph, again
   with the usual blank lines either side of it:

   # Mount remaining unmounted auto-mount drives.
   /sbin/mount -a

   Quand ces changements ont t fait, sauver le fichier. Aucun
   changement supplmentaire n'est requis pour la Slackware.

5.3 Configurer les autres distributions pour les modules

   Avant la prise en compte des oprations dcrites ici, celles listes
   dans "Recompiler le noyau" pour les modules sont supposes ralises.

   La procdure prcise pour les autres distributions n'a pas t
   dtermine, mais il s'agit probablement d'une de celle cites plus
   haut. Pour dterminer laquelle, afficher le contenu du rpertoire
   /etc/rc.d, comme suit:

   cd /etc/rc.d
   ls -l *.d rc.*

   A partir du rsultat, vous pouvez choisir une des trois options
   suivantes:

     * Si cette liste inclu un rpertoire nomm init.d et quelques
       rpertoires dont les noms correspondent  rc?.d (o le point
       d'interrogation remplace un caractre unique), et n'inclu PAS un
       fichier nomm rc.M, cette distribution peut tre configure pour
       les modules en suivant la procdure pour les distributions Debian
       et redhat.
     * Si cette liste n'inclu pas un rpertoires appel init.d mais inclu
       un fichier appel rc.M alors la distribution peut tre configure
       pour les modules en suivant la procdure pour la distribution
       slackware.
     * Si  cette liste ne correspond aucun des critres ci-dessus, la
       distribution  un script de boot qui n'est pas prsent dans cet
       Howto. Dans ce cas, vous tes invits  contacter l'auteur de ce
       document pour conseils.

6. Copyright et Loi

   Ce document est couvert par les termes de la Licence Gnrale Publique
   GNU (GPL), dont tous les termes et limitations s'appliquent.

   L'auteur peut tre contact par email  rhw@bigfoot.com
