Mini-howto Modules

rhw@bigfoot.com

   date ?
     _________________________________________________________________

   _Vendredi 14 janvier 1998. traduit par Fr�d�ric Gacquer
   gacquer@neuronnexion.fr_
     _________________________________________________________________

1. But de ce document

   Les documents existants sur linux et les modules n'ont pas r�ussi � me
   fournir une explication satisfaisante comme par exmple la fa�on
   d'installer linux avec succ�s avec les modules configur�s et
   op�rationnels. La proc�dure expliqu�e dans ce document a �t� utilis�e
   avec succ�s plusieurs fois, aussi bien sur mon propre syst�me que sur
   Internet pour donner des indications � quelqu'un essayant de faire
   fontionner un �l�ment qui requiert un driver fourni seulement sous
   forme de module.

   Mon prope syst�me a �t� install� � partir d'une distribution linux
   Redhat 4.1, et ce fut lors de cette installation que j'ai d�velopp�
   cette proc�dure. Je l'ai install�e depuis avec succ�s sur plusieurs
   syst�mes avec la distribution slackware, et sur un syst�me avec une
   distribution Debian. La proc�dure qui permet de configurer
   correctement les modules sous linux pour ces trois distributions est
   dans ce document.

2. AVERTISSEMENT

   J'ai r�cemment utilis� la m�me proc�dure avec la RedHat 4.2, mais avec
   des r�sultats contradictoires sur des syst�mes apparement identiques.
   Je n'ai PAS encore d�termin� quel est le probl�me, et ne peut donc PAS
   garantir aujourd'hui que cela va ou non fonctionner sur votre syst�me.

3. Pr�requis

   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 impliqu�es 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 m�me afficher des messages
   d'erreurs pendant le d�marrage du syst�me signalent les modules
   configur�s 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 suppos�e se trouver � la
   racine /usr/src/linux qui est suppos� �tre le r�pertoire courant, au
   travers de ce document, de n'importe quelle commande qui en est issue.

4. Acc�l�rer la compilation

   Si votre machine a 16 m�ga ou plus de RAM, on peut acc�l�rer utilement
   les choses en permettant de compiler plusieurs modules en parall�le.
   Cela augmentera la charge cpu de la machine pendant la recompilation
   du noyau mais r�duira le temps pendant lequel la compilation
   s'effectuera.

   Avant d'utiliser cette m�thode, vous devez v�rifier la quantit� de RAM
   pr�sente dans votre machine, car si vous l'avez estim�e trop grande,
   la compilation va en fait �tre moins rapide. L'exp�rience a montr�e
   que la valeur optimum d�pend de la quantit� de RAM dans votre syst�me
   selon la formule suivante, au moins pour les syst�mes qui ont jusqu'�
   32 Mo de RAM, m�me si elle est applicable aux syst�mes 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 quantit�s
   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� pr�c�demment.

5. Recompiler le noyau avec les modules

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

   Cependant, il y a certains �l�ments 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, particuli�rement la combinaison d'un ou
   plusieurs des groupes suivants :

     * L'imprimante parall�le
     * Un pilote de port parall�le, comme le lecteur Zip de IOMEGA ou le
       lecteur Jazz, ou le CDROM de chez BackPack, et
     * Le d�mon PLIP

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

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

   Apr�s cela, les d�pendances de modules doivent �tre r�f�renc�es. C'est
   accompli par les commandes suivantes:

   depmod -a

   Maintenant le nouveau noyau a besoin d'�tre ins�r� dans la s�quence
   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 ins�r� comme �tant le
   noyau linux par d�faut car s'il plante, il sera extr�mement difficile
   de r�cup�rer le setup linux sans refaire une compl�te r�installation,
   ce qui n'est pas recommand�. Pour cette raison, j'ai les entr�es
   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 entr�e indique qu'il y a une OPTION de boot (ignor�e si l'image
   en question n'existe pas) qui charge le fichier /boot/newlinux s'il
   est s�lectionn�, et permet de s�lectionner le mode vid�o dans lequel
   il sera ex�cut�.

   Supposant l'existence de l'entr�e 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 d�pendent 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 op�rations d�crites ici, celles list�es
   dans "Recompiler le noyau" pour les modules sont suppos�es r�alis�es.

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

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

   # Initialisation des modules
   #
   # D�marrer d�mon d'auto-chargement des modules
   /sbin/kerneld

   # Monter toutes les partitions courantes auto-montables non mont�es
   /sbin/mount -a

   2. Ayant cr�� le fichier ci-dessus, ex�cuter 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 syst�me peut �tre relanc�, les modules sont alors impl�ment�s.

5.2 Configurer la Slackware pour les modules

   Avant la prise en compte des op�rations d�crites ici, celles list�es
   dans "Recompiler le noyau" pour les modules sont suppos�es r�alis�es.

   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 apr�s, ins�rer le paragraphe suivant, avec les
       traditionnelles lignes blanches au dessus et en dessous:

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

     * A peut pr�s 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 suppl�mentaire n'est requis pour la Slackware.

5.3 Configurer les autres distributions pour les modules

   Avant la prise en compte des op�rations d�crites ici, celles list�es
   dans "Recompiler le noyau" pour les modules sont suppos�es r�alis�es.

   La proc�dure pr�cise pour les autres distributions n'a pas �t�
   d�termin�e, mais il s'agit probablement d'une de celle cit�es plus
   haut. Pour d�terminer laquelle, afficher le contenu du r�pertoire
   /etc/rc.d, comme suit:

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

   A partir du r�sultat, vous pouvez choisir une des trois options
   suivantes:

     * Si cette liste inclu un r�pertoire nomm� init.d et quelques
       r�pertoires dont les noms correspondent � rc?.d (o� le point
       d'interrogation remplace un caract�re unique), et n'inclu PAS un
       fichier nomm� rc.M, cette distribution peut �tre configur�e pour
       les modules en suivant la proc�dure pour les distributions Debian
       et redhat.
     * Si cette liste n'inclu pas un r�pertoires appel� init.d mais inclu
       un fichier appel� rc.M alors la distribution peut �tre configur�e
       pour les modules en suivant la proc�dure pour la distribution
       slackware.
     * Si � cette liste ne correspond aucun des crit�res ci-dessus, la
       distribution � un script de boot qui n'est pas pr�sent� dans cet
       Howto. Dans ce cas, vous �tes invit�s � contacter l'auteur de ce
       document pour conseils.

6. Copyright et Loi

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

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