Page suivante Page précédente Table des matières

6. Comment le configure-t-on ?

D'abord, ayez les parties nécessaires : un noyau et les derniers modules-utilities. Ensuite, vous devez installer les modules-utilities. C'est très simple : il faut juste désempaqueter les sources et lancer make install. Ceci compile et installe les programmes suivants dans /sbin : genkym, insmod, lsmod, modprobe, depmod, kerneld. Je recommande que vous ajoutiez quelques lignes dans les scripts de démarrage pour faire les initialisations nécessaires lors du démarrage de Linux. Ajoutez les lignes suivantes à votre fichier /etc/rc/rc.d/rc.sysinit (si vous utilisez la Slackware) ou à /etc/rc.d/rc.sysinit (si vous utilisez SysVinit, c'est-à-dire les distributions Debian, RedHat, Caldera) :

      # Demarrer kerneld - ceci doit arriver tres tot dans le
      # processus de demarrage, certainement AVANT que vous lanciez
      # fsck sur les systèmes de fichiers qui ont besoins que les
      # pilotes de disque soient chargés automatiquement
      if [ -x /sbin/kerneld ]
      then
          /sbin/kerneld
      fi

      # Vos commandes fsck fonctionnent ici
      # et votre command mount monte le système de fichiers racine
      # en lecture seule.

      # Mettez à jour le fichier de dépendance des modules du noyau
      # Votre système de fichier racine doit être monté en
      # lecture-écriture à partir de maintenant
      if [ -x /sbin/depmod ]
      then
          /sbin/depmod -a
      fi
      
La première partie lance kerneld lui-même.

La second appelle depmod -a au démarrage. Le programme depmod construit une liste de tous les modules disponibles et analyse leurs inter dépendances. Donc il sait si un module a besoin qu'un autre soit chargé avant lui.

NOTE : Les versions récentes de kerneld ont une option pour utiliser la librairie GNU dbm : libgdbm. Si vous l'activez quand vous construisez les modules-utilities, kerneld ne se lancera pas si lidgdbm n'est pas disponible, ce qui pourrait être le cas si vous avez /usr sur une partition séparée et que vous lanciez kerneldavant que /usr ne soit montée. La solution recommandée est de déplacer libgdm de /usr/lib vers /lib ou de faire un lien statique de kerneld.

Ensuite, défaîtes les sources du noyau, configurez et construisez un noyau à votre convenance. Si vous ne l'avez jamais fait avant, vous devriez lire le fichire README à la racine des sources du noyau. Quand vous lancez make config pour configurer le noyau, vous devrez faire attention à des questions qui apparaissent au début :

      Enable loadable module support (CONFIG_MODULES) [Y/n/?] Y
      
Vous devez sélectioner la gestion des modules chargeables, sinon, il n'y aura pas de modules à charger pour kerneld. Répondez seulement oui (Y).
      Kernel daemon support (CONFIG_KERNELD) [Y/n/?] Y
      
Ceci est aussi nécessaire. Ensuite, de nombreuses choses peuvent être mises sous forme de modules. Vous verrez des questions du genre :
      Normal floppy disk support (CONFIG_BLK_DEV_FD) [M/n/y/?]
      
où vous pouvez répondre M pour Module. Généralement, seuls les pilotes nécessaires lors du démarrage de votre système (le pilote du disque dur, le pilote du système de fichiers racine) doivent être mis dans le noyau ; le reste pouvant être construit sous forme de modules.

Quand vous avez fini avec make config, lancez make dep, make clean, make zImage ou make modules, make modules et make modules_install.

Ouf !

La commande make zImage crée la nouvelle image du noyau dans le fichier arch/i386/boot/zImage. Vous devrez le copier où vous mettez votre image de boot. N'oubliez pas de relancer LILO.

Pour plus d'informations sur la configuration, la construction et l'installation de votre propre noyau, regardez le Kerneld-HOWTO posté régulièrement au comp.os.linux.answers et disponible sur le site sunsite.unc.edu à /pub/Linux/docs/HOWTO. La version française est disponible à www.freenix.fr/linux


Page suivante Page précédente Table des matières