Noyau(Kernel)
Un article de Diablotins.org.
|
Le cœur de votre système.
Le noyau est le cœur du système FreeBSD: un chef d'orchestre qui gère les ressources de votre machine, tels les périphériques, la mémoire ou le réseau, le multi-tâches et les processus.
Sommaire |
Chargement
Le gestionnaire de démarrage va charger par défaut le noyau qui se trouve dans “/boot/kernel/kernel”:
-r-xr-xr-x 1 root wheel 4534697 4 mai 21:37 /boot/kernel/kernel*
Le noyau de FreeBSD, bien que dit «monolithique» peut charger et décharger certains modules en cours de fonctionnement.
Utiliser un noyau sur mesure
Par défaut, FreeBSD définit et utilise un noyau générique, «GENERIC», dont vous trouverez la description dans “/usr/src/sys/i386/conf” pour les machines reposant sur une architecture i386, c'est à dire la grande majorité des PC.
Précautions
Dans tous les cas, garder précieusement la configuration GENERIC, copiez la et n'en modifiez que les copies. Mieux, conservez aussi une copie de la version compilée du noyau, par exemple dans “/boot/KGeneric/”:
mkdir /boot/KGeneric cp /boot/kernel/* /boot/KGeneric/
Ainsi, en cas de problème, vous pourrez toujours charger cette version.
Adapter un noyau
Vous pouvez adapter ce noyau à vos besoins, c'est à dire en extraire les périphériques ou fonctions inutiles et ajouter ceux qui vous manquent.
De plus, le fichier /etc/make.conf va vous permettre de compiler votre noyau de manière à l'adapter de manière optimale à votre machine, en précisant plus finement le processeur qui l'exécutera.
Après avoir copié le noyau GENERIC, par exemple vers «MonNoyau»:
cp /usr/src/sys/i386/conf/GENERIC /usr/src/sys/i386/conf/MonNoyau
Éditez le, tout en consultant les manuels qui vous ont invité à le modifier ou à l'aide des fichiers «/usr/src/sys/i386/conf/NOTES» et /usr/src/sys/conf/NOTES pour ce qui est indépendant de la plate-forme.
Ces derniers fichiers remplacent le “LINT” depuis la branche V. Vous pouvez toutefois le retrouver:
cd /usr/src/sys/i386/conf && make LINT
Vous ne devez pas retirer les pilotes obligatoires : “(required)” en commentaire sous peine d'erreurs de compilation comme le port parallèle (device ppbus) ou le bus USB (device usb).
Enfin, certains périphériques réclament une configuration fixée au démarrage, comme les cartes au (vieux) format ISA.
Ces configurations sont définies dans “GENERIC.hints”, appelée lors de la compilation par l'entrée:
# To statically compile in device wiring instead of /boot/device.hints hints "GENERIC.hints" # Default places to look for devices.
Créez votre propre fichier, le cas échéant.
Compiler un noyau
La méthode la plus simple, disponible depuis la branche V de FreeBSD, après avoir mis à jour vos sources, est d'exécuter, dans “/usr/src/”:
make kernel KERNCONF=MonNoyau
ou, si vous avez précisé l'entrée «KERNCONF=MonNoyau» dans /etc/make.conf:
make kernel
Le processus peut ĂŞtre long.
Choisir son noyau
A l'apparition du gestionnaire de démarrage, demandez la ligne de commande. À l'invite, préciser le noyau à charger :
unload boot /boot/LeNoyauACharger
Sachez que par défaut, FreeBSD conserve l'avant-dernier noyau compilé dans le répertoire “boot/kernel.old”, en cas de problème, retrouvez la précédente configuration :
boot /boot/kernel.old/kernel
