Skip to content

Linux/m68k (10) : Configuration du noyau (n° 119 - septembre 1997)

Après avoir vu l'installation des différents éléments du système, nous allons étudier ce mois-ci la configuration du coeur du système : le noyau Linux.

KéZaKo ?

Le noyau est la partie du système qui contient l'ensemble des drivers permettant de gérer tout ce que contient votre machine : la mémoire, le clavier, l'écran, les disques durs, les cédéroms ... et c'est lui qui s'occupe de gérer le multitâche. Pour essayer une comparaison, cela correspond à la partir TOS des ROMS Atari.

Le noyau que l'on trouve sur les divers cédéroms, serveurs ftp ou BBS est un noyau qui contient l'ensemble des drivers que connaît la version m68k, ce qui représente un gros noyau.
Le problème de cela est la place prise en mémoire par ce type de noyau et c'est pour cela que la plupart des utilisateurs veulent configurer (et le font) leur noyau pour ne prendre en compte que les drivers qu'ils veulent utiliser.

Les drivers

Dans le noyau, les drivers peuvent être inclus de deux manières différentes :

  • directement dans le noyau, c'est-à-dire que le code du driver est présent dans celui-ci et donc en mémoire,
  • en module : le code du driver devient un fichier objet non inclus dans celui-ci (et donc non présent en permanence en mémoire) et qui sera inséré dans le noyau de façon manuelle ou automatique (on verra ça plus tard).

Configuration

Pour pouvoir configurer le noyau, il faut avoir installé le compilateur gcc et les sources du noyau bien évidement, c'est pour cela que l'on parle souvent de "recompilation du noyau".

Normalement les sources s'installent dans le répertoire /usr/src/linux. Pour que les mises-à-jour soient plus commodes, il vaut mieux les décompacter dans un répertoire Linux-<numéro_de_version> et ensuite créer le lien entre ce répertoire et le répertoire linux. Placez-vous ensuite dans le répertoire linux avec la commande cd.

Pour lancer la configuration, plusieurs options s'offrent à vous :

  • make config : la configuration se fera en mode caractères, chaque option s'affichant au fur et à mesure. Le problème apparaît quand on veut modifier une seule option, il faut toutes les reparcourir,
  • make menuconfig : toujours en mode caractères, mais cette fois, le réglage des différentes options se fait sous la forme de menu, ce qui est beaucoup plus pratique pour changer une option, d'autant plus, que l'on peut sauvegarder les options choisies (on peut en sauvegarder même plusieurs : pratique si on compile des noyaux pour d'autres machines). Pour l'utiliser, il faut que la librairies ncurses soient installées,
  • make xconfig : le must, mais il faut être sous X11 et donc avoir pas mal de ressources sur sa machine, cette commande permet de sélectionner les options du noyau de manière graphique avec la souris. Pour que cela fonctionne, il faut avoir installé au préalable Tcl/Tk.

Si vous ne comprenez pas la signification de certaines options, vous pouvez avoir un petit texte d'explication. Si cela ne vous éclaire pas plus, laissez donc la valeur par défaut, cela risque de mieux marcher ensuite :-).

Pour la configuration en mode caractères, les réponses aux questions ont la signification suivantes :

  • Y : driver inclus dans le noyau,
  • N : driver non choisi,
  • M : driver mis en module.

Pour réaliser le choix de la mise en module de certains drivers, il faut garder à l'esprit que le chargement des modules se fera une fois le noyau lancé, c'est-à-dire, que le noyau a besoin des drivers pour lui permettre de démarrer.
En clair (et sans décodeur), si votre système de fichiers root est sur une partition de type ext2fs, il ne faut pas mettre son support en module.
Par contre, si vous utilisez de temps en temps des partitions de type minix, vous pouvez très bien mettre son support en module et le charger uniquement quand vous en avez besoin, vous gagnerez de la place mémoire et donc un peu de vitesse...

Une fois votre configuration finie, il ne reste plus qu'à créer les dépendances entre les fichiers que vous avez choisis. Pour cela, exécutez la commande : 'make dep;make clean'. La deuxième commande fait le ménage en effaçant les fichiers objets, le noyau.

Il ne vous reste plus maintenant qu'à lancer la compilation avec la commande 'make' et à aller vous promener :-).
En effet la compilation n'est pas des plus rapides sur nos machines : pour un falcon de base, cela durera environ 7 heures, avec 14Mo et une CT1, vous ne mettrez plus que 3 heures (je ne peux pas vous parler du Medusa ou de l'Hades car je n'en ai pas :-(). Les temps peuvent varier un petit peu en fonction des options que vous aurez choisies.

Si vous avez choisi de mettre certains drivers en modules, il faut les compiler aussi avec la commande "make modules", puis les installer dans un répertoire où les différentes commandes de gestion des modules et le noyau pourront aller les charger, ce répertoire est /lib/modules/<numero_de_version_du_noyau>. Pour cela, il faut utiliser la commande "make modules_install".

Gestion des modules

Si vous avez choisi de mettre des modules, il ne faut pas oublier de mettre les options suivantes dans le noyau : 'Enable loadable module support' et 'Kernel deamon support' si on veut un chargement automatique (il faut alors associer l'option 'IPC système 5').

Le chargement automatique est très simple : lorsque vous avez besoin d'un driver particulier, il suffit de faire un 'insmod <nom_du_driver>' et celui-ci est chargé par le noyau. Lorsque vous n'en avez plus besoin, un 'rmmod <nom_du_driver>' l'enlève du noyau. La commande 'lsmod' permet de voir les drivers chargés.

Mais pour que cela soit encore plus transparent (pour exécuter les commandes précédentes, il faut être connecté super-utilisateur), le noyau possède la notion de chargement automatique au travers du démon kerneld. Avant de pouvoir l'utiliser, il faut créer un fichier de dépendance entre les modules avec la commande 'depmod -a'.

Dans certain cas, on peut être aussi amener à créer un fichier de configuration particulier pour mettre plusieurs noms à un module, cela se réalise avec la commande suivante : 'modprobe -c | grep -v '^path' > /etc/conf.modules

Pour plus de détails, allez jeter un oeil sur le 'Kerneld Mini Howto'.

The End

Voilà, maintenant que vous savez recompiler le noyau, il ne reste plus qu'à regarder les sources et à participer au développement :-)

Rétroliens

Pas de rétroliens

Commentaires

Afficher les commentaires en Vue non groupée | Vue groupée

Pas de commentaires

Ajouter un commentaire

Marquer un texte en gras: *mot*, souligner un texte: _mot_.
Les smilies standard comme :-) et ;-) sont convertis en images.
Les adresses Email ne sont pas affichées, et sont seulement utilisées pour la communication.

Pour éviter le spam par des robits automatisés (spambots), merci d'entrer les caractères que vous voyez dans l'image ci-dessous dans le champ de fomulaire prévu à cet effet. Assurez-vous que votre navigateur gère et accepte les cookies, sinon votre commentaire ne pourra pas être enregistré.
CAPTCHA

Form options
tweetbackcheck