Publié le: 2009-04-28

Compile the kernel

Bienvenue dans cette nouvelle catégorie de tutoriels destinés à FreeBSD ! BSD est un environnement méconnu du grand public et pourtant il s’agit d’un UNIX très prisé dans le monde de l’informatique, notamment en terme d’optimisations et de performances. Au terme de ce tutoriel vous saurez recompiler l’ensemble du noyau BSD.

Recompiler le noyau permet d’optimiser l’ensemble des routines bas niveau, donc toutes, que vous utiliserez dans vos programmes. Il devrait y avoir à terme une amélioration notoire de performances. Obtenir les sources du noyau

Pour obtenir les sources du noyau, si vous ne les avez pas encore, insérez tout d’abord le CD de FreeBSD.Tapez ensuite la commande sysinstall, puis allez dans le menu configure => Distribution et cochez All. Fermez ensuite l’invite.

Compilation du noyau et de l’environnement utilisateur

La première étape est de recompiler le noyau et l’environnement utilisateur. Ceci se fait directement depuis l’environnement de travail et en root. Tapez les commandes suivantes :

make -j4 buildworld
make -j4 buildkernel

L’option -j4 permet de compiler plusieurs fichiers en parallèle. Allouez 1 slot par coeur de processeur disponible.

Installation du noyau

Après environ 2h vous devriez avoir l’ensemble des données compilées. Nous pouvons installer le noyau BSD directement depuis l’environnement actuel.

make installkernel

Installation de l’environnement utilisateur

Cette installation n’est pas faisable directement depuis l’environnement actuel. Redémarrez la machine et sélectionnez l’option 4 dans le menu de boot.

Attention ! Votre clavier est en qwerty à ce moment !

Montez tout d’abord la partition / et le swap.

mount -u /
mount -a -t ufs
swapon -a

ensuite on règle l’horloge

adjkerntz -i

et enfin on installe l’environnement utilisateur.

make installworld

Votre BSD est désormais compilé, vous pouvez redémarrer en mode normal.

Compiler et installer un seul module/driver

Il se peut que vous fassiez du développement kernel afin d’améliorer un module ou un driver. Lorsque vous voudrez le mettre en place, il n’est pas nécessaire de recompiler l’ensemble. Vous pouvez faire la manip suivante:

cd /usr/src/sys/modules/<module>/
make
make load