FAQ BSDConsultez toutes les FAQ
Nombre d'auteurs : 6, nombre de questions : 127, dernière mise à jour : 20 novembre 2007 Ajouter une question
Cette FAQ a été réalisée à partir des contributions des membres du forum Unix de developpez.com et de l'équipe de rédaction.
Organisation : cette FAQ se compose de deux grandes parties. Une première, Questions générales, qui regroupe toutes les questions qui trouvent une réponse, commune ou non, pour l'ensemble des systèmes BSD. La deuxième est découpée en autant de sous-parties qu'il y a de systèmes BSD soit parce que la question est spécialisée soit parce que la réponse est incomplète pour qu'elle concerne chacun de ces systèmes.
Participer : nous sommes perpétuellement à l'écoute de vos suggestions et corrections, aussi mineures soient-elles. N'hésitez pas à nous en faire part par l'intermédiaire de la discussion prévue à cet effet .
Note : l'exactitude des informations figurant dans la présente FAQ sont autant que possible vérifiée avant intégration. Cependant, nous ne pouvons garantir l'absence de toute erreur, c'est pourquoi les auteurs ne pourront en aucun cas être tenus pour responsables.
- FreeBSD :
Rendez-vous dans le répertoire /usr/src/sys/i386/conf. S'il n'existe pas, vous n'avez probablement pas installé les sources pendant l'installation. Dans ce cas, lancez sysinstall(8), allez dans "Configure - Do post-install configuration of FreeBSD", "Distributions - Install additional distribution sets", et cochez la case " src - Sources for everything". Une nouvelle fenêtre apparaît vous permettant de choisir quelles sources vous souhaitez installer. Cochez "base - top-level files in/usr/src" et "sys -/usr/src/sys (FreeBSD kernel)", puis validez.
Le dossier /usr/src/sys/i386/conf contient divers fichiers. Faites une copie du fichier GENERIC (ne modifiez pas ce fichier !). Pour des raisons historiques, il est recommandé d'utiliser un nom en majuscules. Modifiez votre fichier comme nécessaire.Code linux : Sélectionner tout 1
2
3cp /usr/src/sys/`uname -p`/conf/GENERIC ~/SMORTEX ln -s ~/SMORTEX /usr/src/sys/`uname -p`/conf/ vi ~/SMORTEX
Il ne reste plus qu'à compiler et installer le kernel :Code linux : Sélectionner tout 1
2
3cd /usr/src make buildkernel KERNCONF=SMORTEX make installkernel KERNCONF=SMORTEX
- NetBSD :
Vous disposez des sources du noyau et vous souhaitez le modifier. Premièrement, nous allons nous rendre dans le répertoire /usr/src/sys/arch/`uname -p`/conf/ :Code linux : Sélectionner tout cd /usr/src/sys/arch/`uname -p`/conf/
Code linux : Sélectionner tout 1
2
3cp GENERIC ~/NBSDBOX ln -s ~/NBSDBOX /usr/src/sys/arch/`uname -p`/conf/ vi ~/NBSDBOX
- Le script build.sh qui permet d'automatiser le processus :
Code linux : Sélectionner tout 1
2cd /usr/src ./build.sh (-u) kernel=NBSDBOX
Nous terminons par installer ce nouveau noyau tout en conservant le précédent en le renommant :Code linux : Sélectionner tout 1
2mv /netbsd /netbsd.old cp /usr/src/sys/arch/`uname -p`/compile/obj/NBSDBOX/netbsd /
- La méthode "traditionnelle" :
Code linux : Sélectionner tout 1
2
3
4config NBSDBOX cd ../compile/NBSDBOX make depend make
Code linux : Sélectionner tout 1
2mv /netbsd /netbsd.old cp netbsd /
Redémarrez la machine pour utiliser ce nouveau noyau à l'aide de la commande shutdown -r now par exemple. - Le script build.sh qui permet d'automatiser le processus :
- OpenBSD :
Pour une architecture x86, nous nous rendons dans le répertoire /usr/src/sys/arch/i386/conf/ :Code linux : Sélectionner tout cd /usr/src/sys/arch/`machine`/conf/
Code linux : Sélectionner tout 1
2
3cp GENERIC ~/OBSDBOX ln -s ~/OBSDBOX /usr/src/sys/arch/`machine`/conf/ vi ~/OBSDBOX
Code linux : Sélectionner tout 1
2
3config OBSDBOX cd /usr/src/sys/arch/`machine`/compile/OBSDBOX # Ou cd ../compile/OBSDBOX make clean && make depend && make
Code linux : Sélectionner tout 1
2
3
4make install # Ou si vous souhaitez le faire vous-mêmes cp /bsd /bsd.old cp bsd /bsd
- DragonFlyBSD :
Les fichiers de configuration du noyau de situent dans le répertoire /usr/src/sys/config/. Pour les versions moins récentes il s'agira en revanche de /usr/src/sys/ARCHITECTURE/conf/. Nous allons, pour commencer, nous y rendre :Code linux : Sélectionner tout 1
2
3cd /usr/src/sys/config/ # Voir pour les versions moins récentes de DragonFlyBSD cd /usr/src/sys/ARCHITECTURE/conf/
Code linux : Sélectionner tout 1
2
3cp GENERIC ~/DFBSDBOX ln -s ~/DFBSDBOX /usr/src/sys/config/ # Pour les anciennes versions le chemin sera : /usr/src/sys/ARCHITECTURE/conf/ vi ~/DFBSDBOX
Code linux : Sélectionner tout 1
2cd /usr/src make kernel KERNCONF=DFBSDBOX
Code linux : Sélectionner tout 1
2cd /usr/src make buildworld
- FreeBSD : au menu de démarrage, sélectionnez 6. Escape to loader prompt puis saisissez la commande suivante :
Code linux : Sélectionner tout boot kernel.old # Nom de l'ancien noyau par convention
- NetBSD : au démarrage appuyer rapidement sur une touche quelconque autre que "Entrée" afin d'avoir accès à la ligne de commande du chargeur de démarrage. Puis saisissez une commande similaire à celle-ci :
Code linux : Sélectionner tout boot netbsd.old # Nom de l'ancien noyau par convention
- OpenBSD : appuyer sur une touche différente de "Entrée" pour obtenir la main sur un prompt où vous saisirez une commande similaire à la suivante :
Code linux : Sélectionner tout boot bsd.old # Nom de l'ancien noyau par convention
Votre clavier sera de type américain à ce stade. |
Le noyau doit tout d'abord pouvoir être autorisé à charger des modules, ceci requiert éventuellement deux conditions :
- Activer cette fonctionnalité dans le noyau. Ceci se fait via l'option LKM sur NetBSD et OpenBSD.
- Le niveau de sécurité du noyau doit être strictement inférieur à 1 au moment du chargement
Le chargement d'un module dynamique peut être fait manuellement :
- FreeBSD, avec la commande kldload :
Code linux : Sélectionner tout kldload <module>.ko
- NetBSD et OpenBSD, avec la commande modload :
Code linux : Sélectionner tout modload <module>.o
Ou pour certains de manière automatique :
- FreeBSD, en ajoutant des variables dans le fichier de configuration /boot/loader.conf, un peu à la manière de /etc/rc.conf :
Code : Sélectionner tout <nom_module>_load="YES"
Il existe sur le même principe des directives permettant de
gérer les dépendances des modules (module_before et
module_after), de définir ses paramètres
(module_flags), ... Vous trouverez ces informations
dans la page de manuel de loader.conf(5). - NetBSD, renseignez le fichier /etc/lkm.conf qui se présente sous cette forme :
Code : Sélectionner tout 1
2
3# path options entry postinstall output when # Exemple avec Packet Filter : /usr/pkg/lkm/pf.o - - - - AFTERMOUNT
- path : le chemin du module. Si ce chemin n'est pas complet, il sera cherché dans les répertoires /lkm ou /usr/lkm.
- options : permet d'indiquer les options de la commande modload lors du chargement.
- entry : le nom de la fonction C utilisée comme point d'entrée du module.
- postinstall : le script à exécuter après le chargement du module.
- output : le fichier de trace
- when : le moment précis du processus de démarrage auquel sera chargé le module. Les possibilités sont : avant la mise en place du réseau (BEFORENET, valeur par défaut), avant le montage des partitions non système (BEFOREMOUNT), après le montage de toutes les partitions (AFTERMOUNT).
La valeur spéciale - indique l'usage du comportement par défaut.
Pour que le fichier /etc/lkm.conf soit utilisé il faut avoir ajouté dans /etc/rc.conf :Code : Sélectionner tout 1
2# Chargement dynamique des modules lkm=YES
Afin de bien distinguer les messages provenant du noyau, nous les ferons apparaître en rouge sur fond noir dans la console en rajoutant à la configuration de votre noyau :
- FreeBSD :
Code : Sélectionner tout 1
2options SC_KERNEL_CONS_ATTR=(FG_RED|BG_BLACK) options SC_KERNEL_CONS_REV_ATTR=(FG_BLACK|BG_RED)
- NetBSD :
Code : Sélectionner tout 1
2options WS_KERNEL_FG=WSCOL_RED options WS_KERNEL_BG=WSCOL_BLACK
- OpenBSD :
Code : Sélectionner tout 1
2option WS_KERNEL_FG=WSCOL_RED option WS_KERNEL_BG=WSCOL_BLACK
Note : il est possible de faire de même pour l'affichage en temps normal.
Proposer une nouvelle réponse sur la FAQ
Ce n'est pas l'endroit pour poser des questions, allez plutôt sur le forum de la rubrique pour çaLes sources présentées sur cette page sont libres de droits et vous pouvez les utiliser à votre convenance. Par contre, la page de présentation constitue une œuvre intellectuelle protégée par les droits d'auteur. Copyright © 2024 Developpez Developpez LLC. Tous droits réservés Developpez LLC. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents et images sans l'autorisation expresse de Developpez LLC. Sinon vous encourez selon la loi jusqu'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts.