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

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:

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 :

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 :

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 :

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:

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