doc/fr_FR.ISO8859-1/books/handbook/kernelconfig/chapter.xml
Gabor Kovesdan a6684b4306 - Reduce the misuse of role attribute; role="directory" should actually be
class="directory"
- Add constraint to enforce this
2013-04-04 11:40:58 +00:00

1596 lines
68 KiB
XML
Executable file

<?xml version="1.0" encoding="iso-8859-1"?>
<!--
The FreeBSD Documentation Project
The FreeBSD French Documentation Project
$FreeBSD$
Original revision: 1.176
-->
<chapter id="kernelconfig">
<chapterinfo>
<authorgroup>
<author>
<firstname>Jim</firstname>
<surname>Mock</surname>
<contrib>Mis &agrave; jour et restructuré par </contrib>
<!-- Mar 2000 -->
</author>
</authorgroup>
<authorgroup>
<author>
<firstname>Jake</firstname>
<surname>Hamby</surname>
<contrib>Contribution originale de </contrib>
<!-- 6 Oct 1995 -->
</author>
</authorgroup>
</chapterinfo>
<title>Configurer le noyau de FreeBSD</title>
&trans.a.fonvieille;
<sect1 id="kernelconfig-synopsis">
<title>Synopsis</title>
<indexterm>
<primary>noyau</primary>
<secondary>compiler un noyau sur mesure</secondary>
</indexterm>
<para>Le noyau est le coeur du système d'exploitation FreeBSD.
Il est responsable de la gestion de la mémoire, de la mise en
application des contrôles de sécurité,
du réseau, des accès disque, et bien plus. Bien que
FreeBSD devienne de plus en plus configurable dynamiquement, il est
toujours nécessaire occasionnellement de reconfigurer
et recompiler votre noyau.</para>
<para>Après la lecture de ce chapitre, vous saurez:</para>
<itemizedlist>
<listitem>
<para>Pourquoi vous pourriez avoir besoin de compiler un noyau
sur mesure.</para>
</listitem>
<listitem>
<para>Comment écrire un fichier de configuration du noyau, ou
modifier un fichier de configuration existant.</para>
</listitem>
<listitem>
<para>Comment utiliser le fichier de configuration du noyau pour
créer et recompiler un nouveau noyau.</para>
</listitem>
<listitem>
<para>Comment installer un nouveau noyau.</para>
</listitem>
<listitem>
<para>Que faire si quelque chose se passe mal.</para>
</listitem>
</itemizedlist>
<para>Toutes les commandes listées dans les exemples de ce
chapitre doivent être exécutées en tant que
<username>root</username> afin de fonctionner.</para>
</sect1>
<sect1 id="kernelconfig-custom-kernel">
<title>Pourquoi compiler un noyau sur mesure?</title>
<para>Traditionnellement, FreeBSD a eu ce qui s'appelle un noyau
&ldquo;monolithique&rdquo;. Cela signifie que le noyau était
un gros programme, supportant une liste figée de
périphériques, et si vous vouliez modifier le
comportement du noyau alors vous deviez compiler un nouveau noyau, et
ensuite redémarrer votre ordinateur avec le nouveau noyau.</para>
<para>Aujourd'hui, FreeBSD s'oriente rapidement vers un modèle
où une grande partie des fonctions du noyau est contenue dans des
modules qui peuvent être dynamiquement chargés
et déchargés si nécessaire.
Cela permet au noyau de s'adapter au nouveau matériel devenant
soudainement disponible (comme les cartes PCMCIA dans un
ordinateur portable), ou pour qu'une nouvelle fonctionnalité
qui n'était pas nécessaire lors de la compilation
du noyau y soit intégrée. On appelle cela un noyau
modulaire.</para>
<para>En dépit de cela, il est encore nécessaire d'effectuer
certaines configurations de noyau en statique. Dans certains cas
c'est parce que la fonctionnalité est si proche du noyau
qu'elle ne peut être rendue dynamiquement chargeable. Dans d'autres
cas, cela peut tout simplement venir du fait que personne n'a
encore pris le temps d'écrire un module dynamiquement chargeable
pour cette fonctionnalité.</para>
<para>Compiler un noyau sur mesure est l'un des plus importants
rites de passage que doit endurer tout utilisateur BSD. Cette
opération, tout en prenant du temps, apportera de nombreuses
améliorations &agrave; votre système FreeBSD.
A la différence du noyau <filename>GENERIC</filename>,
qui doit supporter une large gamme de matériels, un noyau sur
mesure ne contient que le support pour <emphasis>votre</emphasis>
configuration matérielle. Cela a de nombreux avantages,
comme:</para>
<itemizedlist>
<listitem>
<para>Un temps de démarrage plus court. Comme le noyau ne
recherchera que le matériel présent sur votre
système, le temps nécessaire au démarrage de
votre système peut diminuer de façon importante.</para>
</listitem>
<listitem>
<para>Une utilisation plus faible de la mémoire. Un noyau sur
mesure utilise souvent moins de mémoire que le noyau
<filename>GENERIC</filename>, ce qui est important car le noyau
doit toujours résider en mémoire. Pour cette
raison, un noyau sur mesure est tout particulièrement utile
sur un système dont les ressources mémoire sont
limitées.</para>
</listitem>
<listitem>
<para>Le support de matériels supplémentaires. Un noyau
sur mesure vous permet d'intégrer le support pour des
périphériques, qui ne sont
pas présents dans le noyau
<filename>GENERIC</filename> comme les cartes son.</para>
</listitem>
</itemizedlist>
</sect1>
<sect1 id="kernelconfig-building">
<title>Compiler et installer un noyau sur mesure</title>
<indexterm>
<primary>noyau</primary>
<secondary>compiler / installer</secondary>
</indexterm>
<para>Commençons par passer rapidement en revue le répertoire
de configuration du noyau. Tous les chemins d'accès
mentionnés seront relatifs au répertoire principal
<filename>/usr/src/sys</filename>, qui est également
accessible via le lien symbolique <filename>/sys</filename>.
Il comporte un certain nombre de sous-répertoires correspondants
&agrave; différentes parties du noyau, mais les plus
importantes, en ce qui nous concerne, sont
<filename><replaceable>arch</replaceable>/conf</filename>, où vous
éditerez votre fichier configuration personnalisé, et
<filename>compile</filename>, qui est l'espace de travail où
votre noyau sera compilé. <replaceable>arch</replaceable>
représente une des architectures suivante: <filename>i386</filename>, soit
<filename>alpha</filename>, <filename>amd64</filename>,
<filename>ia64</filename>, <filename>powerpc</filename>,
<filename>sparc64</filename>, ou encore <filename>pc98</filename>
(une branche alternative de développement de l'architecture PC,
populaire au Japon). Tout ce qui se trouve dans un répertoire
particulier &agrave; une architecture est propre uniquement
&agrave; cette architecture; le reste du code est un code indépendant du type de machine et commun &agrave;
toutes les plates-formes sur lesquelles FreeBSD pourrait être
potentiellement porté. Remarquez l'organisation logique de
l'arborescence des répertoires, où chaque
périphérique, système de fichiers,
et option supportés a son propre
sous-répertoire.</para>
<para>Les exemples de ce chapitre supposent que vous utilisez
l'architecture i386. Si ce n'est pas votre cas, effectuez les
ajustements appropriés au niveau des chemins
d'accès pour votre architecture.</para>
<note>
<para>S'il n'y a <emphasis>pas</emphasis> de répertoire
<filename>/usr/src/sys</filename> sur votre système,
alors c'est que les sources du noyau n'ont pas été
installées. La manière la plus facile de les installer
est d'exécuter <command>sysinstall</command>
en tant
que <username>root</username>, et sélectionner
<guimenuitem>Configure</guimenuitem>, puis
<guimenuitem>Distributions</guimenuitem>,
<guimenuitem>src</guimenuitem>, puis
<guimenuitem>base</guimenuitem> et <guimenuitem>sys</guimenuitem>.
Si vous avez une aversion envers <application>sysinstall</application>
et que vous disposez d'un CDROM &ldquo;officiel&rdquo; de
FreeBSD, alors vous pouvez installer les sources depuis la
ligne de commande:</para>
<screen>&prompt.root; <userinput>mount /cdrom</userinput>
&prompt.root; <userinput>mkdir -p /usr/src/sys</userinput>
&prompt.root; <userinput>ln -s /usr/src/sys /sys</userinput>
&prompt.root; <userinput>cat /cdrom/src/ssys.[a-d]* | tar -xzvf -</userinput>
&prompt.root; <userinput>cat /cdrom/src/sbase.[a-d]* | tar -xzvf -</userinput></screen>
</note>
<para>Ensuite allez dans le répertoire
<filename><replaceable>arch</replaceable>/conf</filename> et copiez
le fichier de configuration <filename>GENERIC</filename> dans un
fichier qui portera le nom que vous voulez donner &agrave; votre
noyau. Par exemple:</para>
<screen>&prompt.root; <userinput>cd /usr/src/sys/<replaceable>i386</replaceable>/conf</userinput>
&prompt.root; <userinput>cp GENERIC MONNOYAU</userinput></screen>
<para>Par tradition, c'est un nom en majuscules, et si vous maintenez
plusieurs machines FreeBSD avec des configurations matérielles
différentes, c'est une bonne idée de lui donner le
même nom que la machine. Nous l'appellerons
<filename>MONNOYAU</filename> pour les besoins de cet
exemple.</para>
<tip>
<para>Conserver votre fichier de configuration du noyau
directement sous <filename>/usr/src</filename> peut être une
mauvaise idée. Si vous avez des problèmes
il peut être tentant de juste effacer
<filename>/usr/src</filename> et recommencer &agrave; nouveau.
Après avoir fait cela ne prends que quelques secondes
pour vous rendre compte que vous venez
d'effacer votre fichier de configuration du noyau
personnalisé. N'éditez pas, non plus, directement le fichier
<filename>GENERIC</filename>, il peut être
écrasé &agrave; la prochaine <link
linkend="updating-upgrading">mise &agrave; jour de l'arborescence
des sources</link>, et vos modifications seraient
perdues.</para>
<para>Vous voudrez peut être conserver votre fichier de
configuration du noyau ailleurs et alors créer un lien
symbolique vers le fichier dans le répertoire
<filename><replaceable>i386</replaceable></filename>.</para>
<para>Par exemple:</para>
<screen>&prompt.root; <userinput>cd /usr/src/sys/<replaceable>i386</replaceable>/conf</userinput>
&prompt.root; <userinput>mkdir /root/noyaux</userinput>
&prompt.root; <userinput>cp GENERIC /root/noyaux/<replaceable>MONNOYAU</replaceable></userinput>
&prompt.root; <userinput>ln -s /root/noyaux/<replaceable>MONNOYAU</replaceable></userinput></screen>
</tip>
<para>Editez maintenant <filename>MONNOYAU</filename> avec votre
éditeur de texte préféré.
Si vous venez tout juste de finir l'installation, le seul
éditeur disponible sera probablement
<application>vi</application>, qui est trop complexe pour être
décrit ici, mais est bien expliqué dans de nombreux
ouvrages de la <link linkend="bibliography">bibliographie</link>.
Cependant, FreeBSD offre un éditeur plus simple appelé
<application>ee</application> qui, si vous êtes débutant,
sera votre éditeur de choix. N'hésitez pas &agrave;
modifier les commentaires d'entête pour y décrire
votre configuration ou les modifications que vous avez apportés
par rapport au noyau <filename>GENERIC</filename>.</para>
<indexterm><primary>SunOS</primary></indexterm>
<para>Si vous avez déj&agrave; compilé un noyau sur &sunos;
ou tout autre système d'exploitation BSD, l'essentiel de fichier
vous sera familier. Si vous venez d'un système d'exploitation
comme DOS, &agrave; l'inverse, le fichier de configuration
<filename>GENERIC</filename> vous paraîtra inintelligible, lisez
alors lentement et attentivement la section sur <link
linkend="kernelconfig-config">le fichier de
configuration</link>.</para>
<note>
<para>Si vous <link linkend="updating-upgrading">synchronisez
votre arborescence des sources</link> avec les toutes
dernières sources du projet &os;, assurez-vous de
toujours lire le fichier <filename>/usr/src/UPDATING</filename>
avant d'effectuer une quelconque opération de mise
&agrave; jour. Ce fichier décrit les problèmes
importants ou les domaines demandant une attention
particulière dans le code mis &agrave; jour.
<filename>/usr/src/UPDATING</filename> correspond toujours
&agrave; votre version des sources de &os;, et est donc plus
&agrave; jour que ce Manuel.</para>
</note>
<para>Vous devez maintenant compiler le code source du
noyau.</para>
<procedure>
<title>Compiler un noyau</title>
<step>
<para>Passez dans le répertoire
<filename class="directory">/usr/src</filename>.</para>
<screen>&prompt.root; <userinput>cd /usr/src</userinput></screen>
</step>
<step>
<para>Compilez le noyau:</para>
<screen>&prompt.root; <userinput>make buildkernel KERNCONF=<replaceable>MONNOYAU</replaceable></userinput></screen>
</step>
<step>
<para>Installez le nouveau noyau:</para>
<screen>&prompt.root; <userinput>make installkernel KERNCONF=<replaceable>MONNOYAU</replaceable></userinput></screen>
</step>
</procedure>
<note>
<para>Il est indispensable d'avoir l'intégralité
des sources du système &os; pour compiler le
noyau.</para>
</note>
<tip>
<para>Par défaut, quand vous compilez un noyau
personnalisé, <emphasis>tous</emphasis> les modules
seront également recompilés. Si vous
désirez mettre &agrave; jour un noyau plus rapidement
ou compiler que certains modules, vous devez éditer le
fichier <filename>/etc/make.conf</filename> avant de compiler
le noyau:</para>
<programlisting>MODULES_OVERRIDE = linux acpi sound/sound sound/driver/ds1 ntfs</programlisting>
<para>Cette variable définit une liste de modules
&agrave; compiler &agrave; la place de
l'intégralité des modules.</para>
<programlisting>WITHOUT_MODULES = linux acpi sound/sound sound/driver/ds1 ntfs</programlisting>
<para>Cette variable définit une liste de modules
&agrave; exclure du processus de compilation. Pour d'autres
variables qui peuvent être intéressantes pour le
processus de compilation du noyau, consultez la page de manuel
&man.make.conf.5;.</para>
</tip>
<indexterm>
<primary><filename class="directory">/boot/kernel.old</filename></primary>
</indexterm>
<para>Le nouveau noyau sera copié dans le répertoire
<filename class="directory">/boot/kernel</filename> avec le nom
<filename>/boot/kernel/kernel</filename> et l'ancien noyau sera renommé en
<filename>/boot/kernel.old/kernel</filename>. Maintenant, arrêtez
le système et redémarrez pour utiliser votre
nouveau noyau.
Si quelque chose se passe mal, il y a quelques instructions
de <link linkend="kernelconfig-trouble">dépannage</link> &agrave;
la fin de ce chapitre que vous pourrez trouver utiles. Assurez-vous de lire la section qui
explique comment revenir en arrière dans le cas où
votre nouveau noyau <link linkend="kernelconfig-noboot">ne
démarre pas</link>.</para>
<note>
<para>Les autres fichiers
concernant le processus de démarrage, comme le chargeur
(&man.loader.8;) et la configuration du démarrage
sont conservés dans le
répertoire <filename>/boot</filename>.
Les modules tiers et personnalisés peuvent être
placés dans <filename class="directory">/boot/kernel</filename>,
bien que les utilisateurs doivent être conscients
que garder ses modules synchronisés avec le noyau
compilé est très important.
Les modules qui ne sont pas destinés &agrave; fonctionner
avec le noyau compilé peuvent être instables et
ne pas donner les résultats escomptés.</para></note>
</sect1>
<sect1 id="kernelconfig-config">
<sect1info>
<authorgroup>
<author>
<firstname>Joel</firstname>
<surname>Dahl</surname>
<contrib>Mis &agrave; jour pour &os; 6.X par </contrib>
</author>
</authorgroup>
</sect1info>
<title>Le fichier de configuration</title>
<indexterm>
<primary>noyau</primary>
<secondary>NOTES</secondary>
</indexterm>
<indexterm><primary>NOTES</primary></indexterm>
<indexterm>
<primary>noyau</primary>
<secondary>fichier de configuration</secondary>
</indexterm>
<para>Le format général du fichier de configuration
est assez simple. Chaque ligne est composée d'un
mot-clé et d'un ou plusieurs arguments. Pour simplifier,
la plupart des lignes ne contiennent qu'un seul argument.
Tout ce qui suit le caractère <literal>#</literal> est
considéré comme un commentaire et ignoré.
Les sections suivantes décrivent chaque mot-clé,
dans l'ordre où ils apparaissent dans le fichier
<filename>GENERIC</filename>.
<anchor id="kernelconfig-options"/> Pour une liste exhaustive des
options et périphériques dépendants de
l'architecture utilisée, consultez le fichier
<filename>NOTES</filename> présent
dans le même répertoire que le fichier <filename>GENERIC</filename>.
Pour les options ne dépendant pas de l'architecture,
consultez le fichier
<filename>/usr/src/sys/conf/NOTES</filename>.</para>
<note>
<para>Pour compiler un fichier contenant toutes les options
possibles, en général pour effectuer des tests,
exécutez la commande suivante en tant que
<username>root</username>:</para>
<screen>&prompt.root; <userinput>cd /usr/src/sys/<replaceable>i386</replaceable>/conf &amp;&amp; make LINT</userinput></screen>
</note>
<indexterm>
<primary>noyau</primary>
<secondary>fichier de configuration</secondary>
</indexterm>
<para>Ce qui suit est un exemple de fichier de configuration du
noyau <filename>GENERIC</filename> avec divers commentaires aux
endroits nécessaires pour un peu plus de clarté.
Cet exemple devrait correspondre de façon très proche
&agrave; votre copie du fichier
<filename>/usr/src/sys/<replaceable>i386</replaceable>/conf/GENERIC</filename>.
</para>
<indexterm>
<primary>options du noyau</primary>
<secondary>machine</secondary>
</indexterm>
<programlisting>machine i386</programlisting>
<para>C'est l'architecture de la machine. Elle doit être
<literal>alpha</literal>, <literal>amd64</literal>,
<literal>i386</literal>, <literal>ia64</literal>,
<literal>pc98</literal>, <literal>powerpc</literal>, ou encore
<literal>sparc64</literal>.</para>
<indexterm>
<primary>options du noyau</primary>
<secondary>cpu</secondary>
</indexterm>
<programlisting>cpu I486_CPU
cpu I586_CPU
cpu I686_CPU</programlisting>
<para>Ce qui précède définit le type de CPU
présent dans votre système. Il peut y avoir plusieurs
occurrences de la ligne CPU (si, par exemple, vous n'êtes pas sûr
de devoir utiliser <literal>I586_CPU</literal>
ou <literal>I686_CPU</literal>), cependant, pour un noyau
personnalisé, il est mieux de spécifier uniquement
le CPU que vous avez.
Si vous n'êtes pas sûr du type, vous pouvez lister
le fichier <filename>/var/run/dmesg.boot</filename> pour visualiser les
messages de démarrage.</para>
<indexterm>
<primary>options du noyau</primary>
<secondary>ident</secondary>
</indexterm>
<programlisting>ident GENERIC</programlisting>
<para>C'est l'identification du noyau. Vous devriez changer cela
pour le nom, quel qu'il soit, que vous donnez &agrave; votre noyau,
par exemple <literal>MONNOYAU</literal> si vous avez suivi les
instructions des exemples précédents.
La valeur que vous donnez &agrave; la chaîne <literal>ident</literal>
s'affichera au démarrage du noyau, il est donc utile de donner
au nouveau noyau un nom différent si vous voulez le
différencier de votre noyau habituel (e.g., vous voulez compiler
un noyau expérimental).</para>
<programlisting>#To statically compile in device wiring instead of /boot/device.hints
#hints "GENERIC.hints" #Default places to look for devices.</programlisting>
<para>Le fichier
&man.device.hints.5; est utilisé pour configurer les
paramètres des pilotes de périphériques.
Le &man.loader.8; recherchera le fichier
<filename>/boot/device.hints</filename> au démarrage.
En utilisant l'option <literal>hints</literal> vous pouvez
compiler ces valeurs en statique dans votre noyau. Il
n'est alors pas utile de créer de fichier
<filename>device.hints</filename> dans
<filename>/boot</filename>.</para>
<!-- XXX: Add a comment here that explains when compiling hints
into the kernel is a good idea and why. -->
<programlisting>makeoptions DEBUG=-g #Build kernel with gdb(1) debug symbols</programlisting>
<para>Le processus normal de compilation de &os; inclut
les informations de débogage lors de la compilation
du noyau avec l'option
<option>-g</option>, qui autorisera les informations de
débogage quand le noyau sera passé &agrave;
&man.gcc.1;.</para>
<programlisting>options SCHED_4BSD # 4BSD scheduler</programlisting>
<para>L'ordonnanceur (<quote>scheduler</quote>) traditionnel et
par défaut de &os;. Conservez cette ligne.</para>
<programlisting>options PREEMPTION # Enable kernel thread preemption</programlisting>
<para>Permet aux processus légers présents dans le
noyau d'être devancés par des processus de
priorité plus élevée. Cela améliore
l'interactivité et permet aux processus d'interruption
d'être exécutés le plus tôt possible
au lieu d'attendre leur tour.</para>
<programlisting>options INET #InterNETworking</programlisting>
<para>Support réseau. Conservez-le, même si vous
n'envisagez pas de vous connecter &agrave; un réseau.
La plupart des programmes utilisent le réseau &ldquo;en
boucle&rdquo; (i.e., établissent des connexions réseau
avec le PC lui-même), cette option est donc quasiment
obligatoire.</para>
<programlisting>options INET6 #IPv6 communications protocols</programlisting>
<para>Ceci active les protocoles de communication IPv6.</para>
<programlisting>options FFS #Berkeley Fast Filesystem </programlisting>
<para>C'est le système de fichiers de base sur disque dur.
Gardez ces options si vous démarrez depuis le disque
dur.</para>
<programlisting>options SOFTUPDATES #Enable FFS Soft Updates support</programlisting>
<para>Cette option rajoutera le support des <quote>Soft
Updates</quote> dans le noyau, ce qui aidera
l'accélération des accès en écriture
sur les disques. Même quand cette fonction est fournit
par le noyau, elle doit être activée sur chaque
disque. Regardez le résultat de la commande
&man.mount.8; pour voir si les <quote>Soft Updates</quote> sont
activées sur les disques de votre système. Si
vous ne voyez pas apparaître l'option
<literal>soft-updates</literal> alors vous devrez l'activer en
utilisant les commandes &man.tunefs.8; (pour les systèmes
de fichiers existant) ou &man.newfs.8; (pour les nouveaux
systèmes de fichiers).</para>
<programlisting>options UFS_ACL #Support for access control lists</programlisting>
<para>Cette option
active le support des listes de contrôle d'accès
au système de fichiers (<acronym>ACL</acronym>).
Elles reposent sur l'utilisation
d'attributs étendus et d'<acronym>UFS2</acronym>,
cette fonctionnalité est décrite dans la <xref
linkend="fs-acl"/>. Les <acronym>ACL</acronym>s sont activées
par défaut, et leur support ne devraient pas être
retiré du noyau si elles ont été
précédemment utilisées sur un
système de fichiers, étant donné que cela
supprimera les listes de contrôle d'accès
changeant alors la façon dont sont protégés
les fichiers d'une manière imprévisible.</para>
<programlisting>options UFS_DIRHASH #Improve performance on big directories</programlisting>
<para>Cette option inclut certaines fonctions pour accélérer les
opérations disque sur de gros répertoires,
aux dépens d'employer de la mémoire supplémentaire.
Vous conserverez normalement cela pour un gros serveur, ou une
station de travail très active, et vous l'enlèverez
si vous utilisez FreeBSD sur un petit système où
la mémoire prime et la vitesse d'accès disque est moins
importante, comme pour un coupe-feu.</para>
<programlisting>options MD_ROOT #MD is a potential root device</programlisting>
<para>Cette option active le support pour des disques virtuels en
mémoire utilisés comme périphérique
racine.</para>
<indexterm>
<primary>options du noyau</primary>
<secondary>NFS</secondary>
</indexterm>
<indexterm>
<primary>options du noyau</primary>
<secondary>NFS_ROOT</secondary>
</indexterm>
<programlisting>options NFSCLIENT # Network Filesystem Client
options NFSSERVER # Network Filesystem Server
options NFS_ROOT # NFS usable as /, requires NFSCLIENT</programlisting>
<para>Le système de fichiers réseau. A moins que vous
n'envisagiez de monter des partitions d'un serveur de fichiers
&unix; par l'intermédiaire d'un réseau TCP/IP, vous pouvez
mettre en commentaire ces options.</para>
<indexterm>
<primary>options du noyau</primary>
<secondary>MSDOSFS</secondary>
</indexterm>
<programlisting>options MSDOSFS #MSDOS Filesystem</programlisting>
<para>Le système de fichiers &ms-dos;. A moins que vous
n'envisagiez de monter une partition DOS d'un disque dur au
démarrage, vous pouvez sans risque commenter cette option.
Le module sera automatiquement chargé la première
fois que vous monterez une partition DOS, comme décrit
plus haut. Par ailleurs, l'excellent logiciel
<filename role="package">emulators/mtools</filename>
vous permet d'accéder &agrave; des disquettes DOS sans avoir
besoin de les monter (et ne requiert pas non plus
<literal>MSDOSFS</literal>).</para>
<programlisting>options CD9660 #ISO 9660 Filesystem</programlisting>
<para>Le système de fichiers ISO 9660 pour les CDROMs. Commentez
ces options si vous n'avez pas de lecteur de CDROM ou que vous
ne montez qu'occasionnellement des CDROMs (il sera chargé
dynamiquement dès que vous monterez un CDROM). Les CDROMs
audios n'ont pas besoin de ce système de fichiers.</para>
<programlisting>options PROCFS # Process filesystem (requires PSEUDOFS)</programlisting>
<para>Le système de fichiers pour les processus. C'est un
&ldquo;pseudo-système&rdquo; de fichiers monté sur
<filename>/proc</filename> qui permet &agrave; des programmes comme
&man.ps.1; de vous fournir plus d'informations sur les processus
qui tournent sur le système.
L'utilisation de <literal>PROCFS</literal> n'est pas
nécessaire la plupart du temps, comme la majeur partie
des outils de débogage et de monitoring ont
été adaptés pour s'exécuter sans
<literal>PROCFS</literal>: les
nouvelles installations ne monteront pas par
défaut ce système de fichiers.</para>
<programlisting>options PSEUDOFS #Pseudo-filesystem framework</programlisting>
<para>Les noyaux 6.X faisant usage du système
<literal>PROCFS</literal> doivent également inclure le
support pour <literal>PSEUDOFS</literal>.</para>
<programlisting>options GEOM_GPT # GUID Partition Tables.</programlisting>
<para>Cette option apporte la possibilité d'avoir un grand nombre
de partitions sur un seul disque.</para>
<programlisting>options COMPAT_43 #Compatible with BSD 4.3 [KEEP THIS!]</programlisting>
<para>Compatibilité avec 4.3BSD. Conservez cette option; certains
programmes auront un comportement bizarre si vous la
commentez.</para>
<programlisting>options COMPAT_FREEBSD4 #Compatible with FreeBSD4</programlisting>
<para>Cette option est nécessaires aux systèmes
&i386; et Alpha fonctionnant sous &os;&nbsp;5.X pour supporter
les applications compilées sur d'anciennes version de &os;
qui utilisent d'anciennes interfaces d'appel système.
Il est recommandé d'utiliser cette option sur tous
les systèmes &i386; et Alpha susceptibles d'exécuter
d'anciennes applications; les plateformes apparues sous &os;&nbsp;5.0,
comme l'ia64 et &sparc64;, n'ont pas besoin de cette
option.</para>
<programlisting>options COMPAT_FREEBSD5 # Compatible with &os;5</programlisting>
<para>Cette option est nécessaire sous &os;&nbsp;6.X et
versions supérieures pour supporter les applications
compilées sous &os;&nbsp;5.X et qui utilisent les
interfaces d'appel système &os;&nbsp;5.X.</para>
<programlisting>options SCSI_DELAY=5000 #Delay (in ms) before probing SCSI</programlisting>
<para>Cette option oblige le noyau &agrave; attendre 5 secondes avant
de rechercher les périphériques SCSI présents
sur votre système. Si vous n'avez que des disques IDE,
vous pouvez l'ignorer, sinon vous pouvez essayer de
diminuer cette valeur,
pour accélérer le démarrage du système.
Bien sûr, si vous le faites, et que FreeBSD a du mal &agrave;
reconnaître vos périphériques SCSI, vous
devrez l'augmenter &agrave; nouveau.</para>
<programlisting>options KTRACE #ktrace(1) support</programlisting>
<para>Ceci permet de tracer le processus du noyau, ce qui est
utile pour le débogage.</para>
<programlisting>options SYSVSHM #SYSV-style shared memory</programlisting>
<para>Cette option implémente la mémoire
partagée System&nbsp;V. L'usage le plus courant qui en est fait est
l'extension XSHM d'X, dont de nombreux logiciels gourmants en
graphique tireront automatiquement parti pour fonctionner plus
vite. Si vous utilisez X, vous utiliserez absolument cette
option.</para>
<programlisting>options SYSVMSG #SYSV-style message queues</programlisting>
<para>Support des messages System&nbsp;V. Cette option n'augmente
que de quelques centaines d'octets la taille du noyau.</para>
<programlisting>options SYSVSEM #SYSV-style semaphores</programlisting>
<para>Support des sémaphores System&nbsp;V. D'un usage moins courant,
mais n'augmente la taille du noyau que de quelques centaines
d'octets.</para>
<note>
<para>L'option <option>-p</option> de la commande &man.ipcs.1; donnera la liste des processus
utilisant chacun de ces mécanismes System&nbsp;V.</para>
</note>
<programlisting>options _KPOSIX_PRIORITY_SCHEDULING # POSIX P1003_1B real-time extensions</programlisting>
<para>Extensions temps-réel ajoutées dans la norme
&posix; 1993. Certaines applications du catalogue des logiciels
portés les utilisent (comme
<application>&staroffice;</application>).</para>
<programlisting>options KBD_INSTALL_CDEV # install a CDEV entry in /dev</programlisting>
<para>Cette option concerne le clavier. Elle installe une
entrée CDEV dans le répertoire
<filename>/dev</filename>.</para>
<programlisting>options ADAPTIVE_GIANT # Giant mutex is adaptive.</programlisting>
<para><quote>Giant</quote> est le nom d'un mécanisme
d'exclusion mutuelle (un <quote>mutex</quote> dormant) qui
protège l'accès &agrave; un ensemble important de
ressources du noyau. Aujourd'hui c'est un goulot
d'étranglement des performances inacceptable que l'on est
en train de remplacer activement par des verrous qui
protègent les ressources individuelles. L'option
<literal>ADAPTIVE_GIANT</literal> permet &agrave; Giant
d'être inclus dans l'ensemble des mutex lancés de
manière adaptative. C'est &agrave; dire, quand un thread
désire verrouiller le mutex Giant, mais que ce dernier
est déj&agrave; verrouillé par un thread sur un
autre CPU, le premier thread continuera &agrave; fonctionner et
attendra la libération du verrou. Normalement, le thread
retournera &agrave; l'état dormant et attendra une
nouvelle chance de pouvoir s'exécuter. Si vous
n'êtes pas sûr, laissez la configuration en
l'état.</para>
<indexterm>
<primary>options du noyau</primary>
<secondary>SMP</secondary>
</indexterm>
<programlisting>device apic # I/O APIC</programlisting>
<para>Le périphérique apic active l'utilisation de
l'E/S APIC pour l'acheminement des interruptions. Le
périphérique apic peut être utilisé
dans les noyaux UP (monoprocesseur) et SMP, mais est requis pour
les noyaux SMP. Ajoutez <literal>options SMP</literal> pour
inclure le support pour plusieurs processeurs.</para>
<note>
<para>Le périphérique apic n'existe que sur
l'architecture i386, cette ligne de configuration ne doit pas
être utilisée sur d'autres architectures.</para>
</note>
<programlisting>device eisa</programlisting>
<para>Rajoutez cela si vous avez une carte mère EISA.
Cela permet l'auto-détection et la configuration de tous les
périphériques présents sur le bus
EISA.</para>
<programlisting>device pci</programlisting>
<para>Ajoutez cette option si vous avez une carte mère PCI.
Cela permet l'auto-détection des cartes PCI et gère
l'interface entre les bus PCI et ISA.</para>
<programlisting># Floppy drives
device fdc</programlisting>
<para>C'est le contrôleur de lecteur de disquettes.</para>
<programlisting># ATA and ATAPI devices
device ata</programlisting>
<para>Ce pilote supporte tous les périphériques
ATA et ATAPI. Vous n'avez besoin que d'une seule ligne
<literal>device ata</literal> pour que le noyau détecte tous les
périphériques PCI ATA/ATAPI sur les machines
modernes.</para>
<programlisting>device atadisk # ATA disk drives</programlisting>
<para>Ceci est requis avec <literal>device ata</literal> pour les
disques ATA.</para>
<programlisting>device ataraid # ATA RAID drives</programlisting>
<para>Ceci est nécessaire avec <literal>device
ata</literal> pour les disques RAID ATA.</para>
<programlisting><anchor id="kernelconfig-atapi"/>
device atapicd # ATAPI CDROM drives</programlisting>
<para>Ceci est nécessaire avec <literal>device ata</literal>
pour le support des lecteurs de CDROM ATAPI.</para>
<programlisting>device atapifd # ATAPI floppy drives</programlisting>
<para>Ceci est nécessaire avec <literal>device ata</literal>
pour le support des lecteurs de disquettes ATAPI.</para>
<programlisting>device atapist # ATAPI tape drives</programlisting>
<para>Ceci est nécessaire avec <literal>device ata</literal>
pour le support des lecteurs de bande ATAPI.</para>
<programlisting>options ATA_STATIC_ID #Static device numbering</programlisting>
<para>Cela rend la numérotation des périphériques
statique, sans cela l'allocation des numéros de
périphériques sera dynamique.</para>
<programlisting># SCSI Controllers
device ahb # EISA AHA1742 family
device ahc # AHA2940 and onboard AIC7xxx devices
options AHC_REG_PRETTY_PRINT # Print register bitfields in debug
# output. Adds ~128k to driver.
device ahd # AHA39320/29320 and onboard AIC79xx devices
options AHD_REG_PRETTY_PRINT # Print register bitfields in debug
# output. Adds ~215k to driver.
device amd # AMD 53C974 (Teckram DC-390(T))
device isp # Qlogic family
#device ispfw # Firmware for QLogic HBAs- normally a module
device mpt # LSI-Logic MPT-Fusion
#device ncr # NCR/Symbios Logic
device sym # NCR/Symbios Logic (newer chipsets + those of `ncr')
device trm # Tekram DC395U/UW/F DC315U adapters
device adv # Advansys SCSI adapters
device adw # Advansys wide SCSI adapters
device aha # Adaptec 154x SCSI adapters
device aic # Adaptec 15[012]x SCSI adapters, AIC-6[23]60.
device bt # Buslogic/Mylex MultiMaster SCSI adapters
device ncv # NCR 53C500
device nsp # Workbit Ninja SCSI-3
device stg # TMC 18C30/18C50</programlisting>
<para>Contrôleurs SCSI. Mettez en commentaires ceux que vous
n'avez pas sur votre système. Si vous n'avez qu'un
système IDE, vous pouvez supprimer toutes ces lignes. Les
lignes <literal>*_REG_PRETTY_PRINT</literal> sont des options de
débogage pour leur pilote respectif.</para>
<programlisting># SCSI peripherals
device scbus # SCSI bus (required for SCSI)
device ch # SCSI media changers
device da # Direct Access (disks)
device sa # Sequential Access (tape etc)
device cd # CD
device pass # Passthrough device (direct SCSI access)
device ses # SCSI Environmental Services (and SAF-TE)</programlisting>
<para>Périphériques SCSI. A nouveau, mettez en
commentaires tous ceux que vous n'avez pas, ou si vous n'avez
que du matériel IDE, vous pouvez tous les supprimer.</para>
<note>
<para>Le pilote USB &man.umass.4; et quelques autres pilotes
utilisent le sous-système SCSI même si ce ne sont
pas de véritables périphériques SCSI. Par
conséquent assurez-vous de ne pas retirer le support SCSI
si un tel pilote fait partie de la configuration du
noyau.</para>
</note>
<programlisting># RAID controllers interfaced to the SCSI subsystem
device amr # AMI MegaRAID
device arcmsr # Areca SATA II RAID
device asr # DPT SmartRAID V, VI and Adaptec SCSI RAID
device ciss # Compaq Smart RAID 5*
device dpt # DPT Smartcache III, IV - See NOTES for options
device hptmv # Highpoint RocketRAID 182x
device rr232x # Highpoint RocketRAID 232x
device iir # Intel Integrated RAID
device ips # IBM (Adaptec) ServeRAID
device mly # Mylex AcceleRAID/eXtremeRAID
device twa # 3ware 9000 series PATA/SATA RAID
# RAID controllers
device aac # Adaptec FSA RAID
device aacp # SCSI passthrough for aac (requires CAM)
device ida # Compaq Smart RAID
device mfi # LSI MegaRAID SAS
device mlx # Mylex DAC960 family
device pst # Promise Supertrak SX6000
device twe # 3ware ATA RAID</programlisting>
<para>Contrôleurs RAID supportés. Si vous n'avez aucun de ces
derniers dans votre système, vous pouvez les mettre
en commentaires ou les supprimer.</para>
<programlisting># atkbdc0 controls both the keyboard and the PS/2 mouse
device atkbdc # AT keyboard controller</programlisting>
<para>Le contrôleur du clavier (<literal>atkbdc</literal>) permet
de gérer les E/S du clavier AT et des
périphériques de pointage PS/2. Ce contrôleur
est nécessaire au pilote de périphérique
du clavier (<literal>atkbd</literal>) et celui des
périphériques de pointage PS/2
(<literal>psm</literal>).</para>
<programlisting>device atkbd # AT keyboard</programlisting>
<para>Le pilote de périphérique <literal>atkbd</literal>,
associé au contrôleur <literal>atkbdc</literal>, fournit
un accès au clavier AT 84 touches ou au clavier AT étendu qui
est connecté au contrôleur de clavier de la machine.</para>
<programlisting>device psm # PS/2 mouse</programlisting>
<para>Utilisez ce périphérique si votre souris se
branche sur le port PS/2.</para>
<programlisting>device kbdmux # keyboard multiplexer</programlisting>
<para>Support de base pour le multiplexage de claviers. Si vous
n'avez pas l'intention d'utiliser sur le système plus
d'un clavier, vous pouvez supprimer cette ligne sans
risque.</para>
<programlisting>device vga # VGA video card driver</programlisting>
<para>Pilote de la carte graphique.</para>
<programlisting>
device splash # Splash screen and screen saver support</programlisting>
<para>Ecran/bannière de démarrage. Les
économiseurs d'écran ont également
besoin de ce pseudo-périphérique.</para>
<programlisting># syscons is the default console driver, resembling an SCO console
device sc</programlisting>
<para><literal>sc</literal> est le pilote par défaut pour la
console, qui ressemble &agrave; une console SCO. Comme la plupart
des programmes en mode plein-écran accèdent
&agrave; la console par l'intermédiaire d'une base de
données
de description des terminaux comme <filename>termcap</filename>,
cela n'a guère d'importance que vous choisissiez ce pilote
ou <literal>vt</literal>, le pilote compatible
<literal>VT220</literal>. Quand vous ouvrez une session,
positionnez votre variable d'environnement <envar>TERM</envar> &agrave;
<literal>scoansi</literal> si vous avez des problèmes pour
utiliser des programmes en mode plein-écran avec cette
console.</para>
<programlisting># Enable this for the pcvt (VT220 compatible) console driver
#device vt
#options XSERVER # support for X server on a vt console
#options FAT_CURSOR # start with block cursor</programlisting>
<para>C'est le pilote de console compatible VT220, et,
rétrospectivement, compatible VT100/102. Il fonctionne
bien sur certains ordinateurs portables qui sont matériellement
incompatibles avec le pilote <literal>sc</literal>. Comme
précédemment, positionnez la variable d'environnement
<envar>TERM</envar> lorsque que vous ouvrez une session,
mais cette fois-ci &agrave; <literal>vt100</literal> ou
<literal>vt220</literal>. Ce pilote peut aussi s'avérer
utile quand vous vous connectez &agrave; un grand nombre de
machines différentes par le réseau sur lesquelles
les entrées pour le périphérique
<literal>sc</literal> ne sont souvent pas définies dans
leurs fichiers <filename>termcap</filename> ou
<filename>terminfo</filename> &mdash; alors que le terminal
<literal>vt100</literal> devrait être disponible sur
pratiquement toutes les plates-formes.</para>
<programlisting>device agp</programlisting>
<para>Ajoutez cette option si vous avez une carte AGP dans votre
système. Cela activera le support AGP, et l'AGP GART
pour les cartes qui ont cette fonction.</para>
<indexterm>
<primary>APM</primary>
</indexterm>
<programlisting># Power management support (see NOTES for more options)
device apm</programlisting>
<para>&ldquo;Advanced Power Management support&rdquo; - gestion
avancée de l'énergie. Utile pour les ordinateurs
portables, ceci est cependant désactivé par
défaut dans le noyau <filename>GENERIC</filename> sous
&os;&nbsp;5.X et versions suivantes</para>
<programlisting># Add suspend/resume support for the i8254.
device pmtimer</programlisting>
<para>Pilote du périphérique de gestion du temps pour
les événements de la gestion de l'énergie, comme l'APM ou
l'ACPI.</para>
<programlisting># PCCARD (PCMCIA) support
# PCMCIA and cardbus bridge support
device cbb # cardbus (yenta) bridge
device pccard # PC Card (16-bit) bus
device cardbus # CardBus (32-bit) bus</programlisting>
<para>Support PCMCIA. Vous en avez besoin si vous utilisez un
ordinateur portable.</para>
<programlisting># Serial (COM) ports
device sio # 8250, 16[45]50 based serial ports</programlisting>
<para>Cela représente les ports séries, appelés
ports <devicename>COM</devicename> dans le monde &ms-dos;/&windows;.</para>
<note>
<para>Si vous avez un modem interne sur le port <devicename>COM4</devicename> et un port
série <devicename>COM2</devicename>, vous devrez changer l'IRQ du modem en 2 (pour
d'obscures raisons techniques, IRQ 2 = IRQ 9) pour y accéder
avec FreeBSD. Si vous avez une carte série multi-ports,
consultez la page de manuel de &man.sio.4; pour plus
d'informations sur les bonnes valeurs &agrave; ajouter &agrave; votre
fichier <filename>/boot/device.hints</filename>.
Certaines cartes vidéo (notamment celle &agrave; base de
circuits S3) utilisent des adresses d'E/S sous la forme
<literal>0x*2e8</literal>, et comme de nombreuses cartes
séries bon marché de décodent pas
complètement l'espace d'adresse d'E/S 16 bits, il y a
aura des conflits avec ces cartes, rendant le port
<devicename>COM4</devicename>
pratiquement inutilisable.</para>
<para>Chaque port série doit avoir une IRQ unique (&agrave;
moins que vous n'utilisiez une carte multi-ports qui autorise
le partage d'interruption), donc les IRQs par défaut pour
les ports <devicename>COM3</devicename> et <devicename>COM4</devicename> ne peuvent être
utilisées.</para>
</note>
<programlisting># Parallel port
device ppc</programlisting>
<para>C'est l'interface parallèle du bus ISA.</para>
<programlisting>device ppbus # Parallel port bus (required)</programlisting>
<para>Fournit le support pour le bus du port parallèle.</para>
<programlisting>device lpt # Printer</programlisting>
<para>Support pour les imprimantes parallèles.</para>
<note>
<para>Les trois lignes précédentes sont
nécessaires pour permettre le support des imprimantes
parallèles.</para>
</note>
<programlisting>device plip # TCP/IP over parallel</programlisting>
<para>C'est le pilote pour l'interface réseau sur port
parallèle.</para>
<programlisting>device ppi # Parallel port interface device</programlisting>
<para>Port d'E/S d'usage général (&ldquo;geek
port&rdquo;) + port d'E/S IEEE1284.</para>
<programlisting>#device vpo # Requires scbus and da</programlisting>
<indexterm><primary>lecteur zip</primary></indexterm>
<para>Ceci est pour le lecteur Zip de Iomega. Les options
<literal>scbus</literal> et <literal>da</literal> sont
également requises. Les meilleures performances sont
obtenues avec les ports configurés dans le mode EPP 1.9.</para>
<programlisting>#device puc</programlisting>
<para>Décommentez ce périphérique si vous
disposez d'une carte PCI série ou parallèle
<quote>idiote</quote> qui est supportée par le pilote
&man.puc.4;.</para>
<programlisting># PCI Ethernet NICs.
device de # DEC/Intel DC21x4x (<quote>Tulip</quote>)
device em # Intel PRO/1000 adapter Gigabit Ethernet Card
device ixgb # Intel PRO/10GbE Ethernet Card
device txp # 3Com 3cR990 (<quote>Typhoon</quote>)
device vx # 3Com 3c590, 3c595 (<quote>Vortex</quote>)</programlisting>
<para>Divers pilotes de cartes réseaux PCI. Mettez en
commentaires ou supprimer les lignes de celles qui ne sont pas
présentes sur votre système.</para>
<programlisting># PCI Ethernet NICs that use the common MII bus controller code.
# NOTE: Be sure to keep the 'device miibus' line in order to use these NICs!
device miibus # MII bus support</programlisting>
<para>Le support du bus MII est nécessaire pour certaines
cartes Ethernet PCI 10/100, &agrave; savoir celles qui utilisent des
interfaces compatibles MII ou implémentent une gestion de
l'interface opérant comme le bus MII. Ajouter
<literal>device miibus</literal> &agrave; la configuration du noyau
intègre le support pour l'API miibus générique et
tous les pilotes d'interfaces PHY, incluant un pilote
générique pour les interfaces PHYs qui ne sont pas
spécifiquements gérées par un
pilote individuel.</para>
<programlisting>device bce # Broadcom BCM5706/BCM5708 Gigabit Ethernet
device bfe # Broadcom BCM440x 10/100 Ethernet
device bge # Broadcom BCM570xx Gigabit Ethernet
device dc # DEC/Intel 21143 and various workalikes
device fxp # Intel EtherExpress PRO/100B (82557, 82558)
device lge # Level 1 LXT1001 gigabit ethernet
device msk # Marvell/SysKonnect Yukon II Gigabit Ethernet
device nge # NatSemi DP83820 gigabit ethernet
device nve # nVidia nForce MCP on-board Ethernet Networking
device pcn # AMD Am79C97x PCI 10/100 (precedence over 'lnc')
device re # RealTek 8139C+/8169/8169S/8110S
device rl # RealTek 8129/8139
device sf # Adaptec AIC-6915 (<quote>Starfire</quote>)
device sis # Silicon Integrated Systems SiS 900/SiS 7016
device sk # SysKonnect SK-984x &amp; SK-982x gigabit Ethernet
device ste # Sundance ST201 (D-Link DFE-550TX)
device stge # Sundance/Tamarack TC9021 gigabit Ethernet
device ti # Alteon Networks Tigon I/II gigabit Ethernet
device tl # Texas Instruments ThunderLAN
device tx # SMC EtherPower II (83c170 <quote>EPIC</quote>)
device vge # VIA VT612x gigabit ethernet
device vr # VIA Rhine, Rhine II
device wb # Winbond W89C840F
device xl # 3Com 3c90x (<quote>Boomerang</quote>, <quote>Cyclone</quote>)</programlisting>
<para>Pilotes qui utilisent le code du contrôleur du bus
MII.</para>
<programlisting># ISA Ethernet NICs. pccard NICs included.
device cs # Crystal Semiconductor CS89x0 NIC
# 'device ed' requires 'device miibus'
device ed # NE[12]000, SMC Ultra, 3c503, DS8390 cards
device ex # Intel EtherExpress Pro/10 and Pro/10+
device ep # Etherlink III based cards
device fe # Fujitsu MB8696x based cards
device ie # EtherExpress 8/16, 3C507, StarLAN 10 etc.
device lnc # NE2100, NE32-VL Lance Ethernet cards
device sn # SMC's 9000 series of Ethernet chips
device xe # Xircom pccard Ethernet
# ISA devices that use the old ISA shims
#device le</programlisting>
<para>Pilotes pour les cartes Ethernet ISA. Consultez le fichier
<filename>/usr/src/sys/<replaceable>i386</replaceable>/conf/NOTES</filename> pour savoir
quelles cartes sont supportées et par quel pilote.</para>
<programlisting># Wireless NIC cards
device wlan # 802.11 support</programlisting>
<para>Support 802.11 générique. Cette ligne est
nécessaire pour le réseau sans fil.</para>
<programlisting>device wlan_wep # 802.11 WEP support
device wlan_ccmp # 802.11 CCMP support
device wlan_tkip # 802.11 TKIP support</programlisting>
<para>Support pour le chiffrage pour les
périphériques 802.11. Ces lignes sont
nécessaires si vous avez l'intention d'utiliser le
chiffrage et les protocoles de sécurité
802.11i.</para>
<programlisting>device an # Aironet 4500/4800 802.11 wireless NICs.
device ath # Atheros pci/cardbus NIC's
device ath_hal # Atheros HAL (Hardware Access Layer)
device ath_rate_sample # SampleRate tx rate control for ath
device awi # BayStack 660 and others
device ral # Ralink Technology RT2500 wireless NICs.
device wi # WaveLAN/Intersil/Symbol 802.11 wireless NICs.
#device wl # Older non 802.11 Wavelan wireless NIC.</programlisting>
<para>Support pour diverses cartes réseau sans fil.</para>
<programlisting># Pseudo devices
device loop # Network loopback</programlisting>
<para>C'est l'interface générique en boucle de
TCP/IP. Si vous employez telnet ou FTP sur
<hostid>localhost</hostid> (aussi connu en tant qu'adresse
<hostid role="ipaddr">127.0.0.1</hostid>) la réponse vous
parviendra via ce pseudo-périphérique. Ceci est
<emphasis>obligatoire</emphasis>.</para>
<programlisting>device random # Entropy device</programlisting>
<para>Générateur de nombres aléatoire
sécurisé pour les applications de
chiffrement.</para>
<programlisting>device ether # Ethernet support</programlisting>
<para><literal>ether</literal> ne sert que si vous avez une carte
Ethernet. Cela intègre le code générique
pour le protocole Ethernet.</para>
<programlisting>device sl # Kernel SLIP</programlisting>
<para><literal>sl</literal> est le support pour le protocole SLIP.
Il a été presque entièrement supplanté
par le protocole PPP, plus facile &agrave; mettre en oeuvre, mieux
adapté aux connexions par modem, et aussi plus
puissant.</para>
<programlisting>device ppp # Kernel PPP</programlisting>
<para>C'est le support intégré au noyau du protocole PPP
pour les connexions par modem. Il y a aussi une version de PPP
sous forme de programme utilisateur qui utilise
<literal>tun</literal> et offre plus de souplesse et de
possibilités comme la connexion &agrave; la
demande.</para>
<programlisting>device tun # Packet tunnel.</programlisting>
<para>Ceci est utilisé par le programme PPP en mode
utilisateur.
Voyez la section <link
linkend="userppp">PPP</link> de ce manuel pour plus
d'informations.</para>
<programlisting><anchor id="kernelconfig-ptys"/>
device pty # Pseudo-ttys (telnet etc)</programlisting>
<para>C'est un &ldquo;pseudo-terminal&rdquo; ou un port simulant
une session. Il est utilisé par les sessions
<command>telnet</command> et <command>rlogin</command>
entrantes, par <application>xterm</application>, et d'autres
applications comme <application>Emacs</application>.</para>
<programlisting>device md # Memory <quote>disks</quote></programlisting>
<para>Pseudo-périphérique de disque
mémoire.</para>
<programlisting>device gif # IPv6 and IPv4 tunneling</programlisting>
<para>Ceci implémente l'encapsulation du protocole IPv6 par
dessus l'IPv4, l'IPv4 par dessus l'IPv6, l'encapsulation IPv4
par dessus l'IPv4, et IPv6 par dessus IPv6. Le
périphérique <literal>gif</literal>
<quote>s'auto-duplique</quote>, et créera les fichiers
spéciaux de périphérique en fonction des
besoins.</para>
<programlisting>device faith # IPv6-to-IPv4 relaying (translation)</programlisting>
<para>Ce pseudo-périphérique capture les paquets qui lui sont
envoyés et les détourne vers le &ldquo;daemon&rdquo; de
translation IPv4/IPv6.</para>
<programlisting># The `bpf' device enables the Berkeley Packet Filter.
# Be aware of the administrative consequences of enabling this!
# Note that 'bpf' is required for DHCP.
device bpf # Berkeley packet filter</programlisting>
<para>C'est le filtre de paquets de Berkeley. Ce
pseudo-périphérique permet de placer les interfaces
en mode &ldquo;promiscuous&rdquo; (indiscret), pour capturer
chaque paquet sur réseau de diffusion (e.g., un réseau
Ethernet). Ces paquets peuvent être enregistrés sur
le disque et/ou examinés avec le programme
&man.tcpdump.1;.</para>
<note>
<para>Le périphérique &man.bpf.4;
est également utilisé par &man.dhclient.8; pour
obtenir une adresse IP du routeur par défaut (passerelle) et
ainsi de suite. Si vous utilisez DHCP, conservez cette ligne
non commentée.</para>
</note>
<programlisting># USB support
device uhci # UHCI PCI-&gt;USB interface
device ohci # OHCI PCI-&gt;USB interface
device ehci # EHCI PCI-&gt;USB interface (USB 2.0)
device usb # USB Bus (required)
#device udbp # USB Double Bulk Pipe devices
device ugen # Generic
device uhid # <quote>Human Interface Devices</quote>
device ukbd # Keyboard
device ulpt # Printer
device umass # Disks/Mass storage - Requires scbus and da
device ums # Mouse
device ural # Ralink Technology RT2500USB wireless NICs
device urio # Diamond Rio 500 MP3 player
device uscanner # Scanners
# USB Ethernet, requires mii
device aue # ADMtek USB Ethernet
device axe # ASIX Electronics USB Ethernet
device cdce # Generic USB over Ethernet
device cue # CATC USB Ethernet
device kue # Kawasaki LSI USB Ethernet
device rue # RealTek RTL8150 USB Ethernet</programlisting>
<para>Support pour divers périphériques USB.</para>
<programlisting># FireWire support
device firewire # FireWire bus code
device sbp # SCSI over FireWire (Requires scbus and da)
device fwe # Ethernet over FireWire (non-standard!)</programlisting>
<para>Support pour divers périphériques
Firewire.</para>
<para>Pour plus d'informations et pour avoir la liste de
périphériques supplémentaires supportés par
FreeBSD, voyez le fichier
<filename>/usr/src/sys/<replaceable>i386</replaceable>/conf/NOTES</filename>.</para>
<sect2>
<title>Configurations mémoire importantes
(<acronym>PAE</acronym>)</title>
<indexterm>
<primary>Extensions d'adressage physique&mdash;&ldquo;Physical
Address Extensions&rdquo; (<acronym>PAE</acronym>)</primary>
<secondary>mémoire importante</secondary>
</indexterm>
<para>Les machines &agrave; configuration mémoire
importante ont besoin de pouvoir accéder &agrave; plus
d'espace mémoire utilisateur et noyau que la limite des
4 gigaoctets de l'espace d'adresse noyau+utilisateur
(&ldquo;Kernel Virtual
Address&rdquo;&mdash;<acronym>KVA</acronym>). En raison de
cette limite, Intel a ajouté le support d'adresses
physiques sur 36&nbsp;bits pour l'espace d'adresses dans les
familles de microprocesseurs &pentium; Pro et
suivantes.</para>
<para>L'extension de l'adressage physique&mdash;,&ldquo;Physical
Address Extension&rdquo; (<acronym>PAE</acronym>) est une
caractéristique des microprocesseurs &intel; &pentium;
Pro et suivants autorisant les configurations mémoires
jusqu'&agrave; 64 gigaoctets. &os; fournit un support pour
cette caratéristique via l'option de configuration du
noyau <option>PAE</option>, disponible sous toutes les versions
actuelles de &os;.
En raison des limitations de l'architecture
mémoire &intel;, aucune distinction n'est faite entre
la mémoire au-dessus et en-dessous de 4 gigaoctets. La
mémoire allouée au-dessus de 4 gigaoctets est
simplement ajoutée &agrave; l'ensemble de la
mémoire disponible.</para>
<para>Pour activer le support <acronym>PAE</acronym> dans le
noyau, ajoutez simplement la ligne suivante dans votre fichier
de configuration du noyau:</para>
<programlisting>options PAE</programlisting>
<note>
<para>Le support <acronym>PAE</acronym> sous &os; est
uniquement disponible pour les processeurs IA-32
d'&intel;. Il doit être noté que le support
<acronym>PAE</acronym> sous &os; n'a pas été
énormément testé, et devrait être
considéré comme bêta comparé aux
autres fonctionnalités stables de &os;.</para>
</note>
<para>Le support <acronym>PAE</acronym> sous &os; a quelques
limitations:</para>
<itemizedlist>
<listitem>
<para>Un processus est incapable d'accéder &agrave;
plus de 4 gigaoctets d'espace mémoire.</para>
</listitem>
<listitem>
<para>Les modules <acronym>KLD</acronym> ne peuvent
être chargés dans un noyau avec
<acronym>PAE</acronym> activé, en raison des
différences entre la structure d'un module et du
noyau.</para>
</listitem>
<listitem>
<para>Les pilotes de périphériques qui
n'utilisent pas l'interface &man.bus.dma.9;
seront &agrave; l'origine de corruption de données
avec un noyau <acronym>PAE</acronym> et ne sont pas
recommandés. Pour cette raison, le fichier de
configuration du noyau avec support
<filename>PAE</filename> qui est fourni avec
&os; exclut tous les pilotes connus
pour ne pas fonctionner avec un noyau avec support
<acronym>PAE</acronym>.</para>
</listitem>
<listitem>
<para>Certains paramètres modifiables du
système déterminent l'utilisation des
ressources mémoire par la quantité de la
mémoire physique disponible. De tels
paramètres peuvent être inutilement
sur-alloués en raison de la grande quantité de
mémoire d'un système <acronym>PAE</acronym>.
Un bon exemple est le &ldquo;sysctl&rdquo;
<option>kern.maxvnodes</option>, qui contrôle le
nombre maximal de &ldquo;vnodes&rdquo; alloués par le
noyau. Il est recommandé d'ajuster ce dernier et les
autres paramètres du même genre &agrave; des
valeurs raisonnables.</para>
</listitem>
<listitem>
<para>Il pourra être nécessaire d'augmenter l'espace
d'adressage virtuel du noyau (&ldquo;kernel virtual
address&rdquo;&mdash;<acronym>KVA</acronym>) ou de
réduire le montant de la ressource spécifique
du noyau qui est fortement utilisée (voir plus haut)
afin d'éviter l'épuisement de l'espace
<acronym>KVA</acronym>. L'option du noyau
<option>KVA_PAGES</option> peut être employée
pour augmenter l'espace <acronym>KVA</acronym>.</para>
</listitem>
</itemizedlist>
<para>Pour des considérations de performance et de
stabilité, il est recommandé de consulter la
page de manuel &man.tuning.7;. La page de manuel
&man.pae.4; contient des informations &agrave; jour
sur le support <acronym>PAE</acronym> sous &os;.</para>
</sect2>
</sect1>
<sect1 id="kernelconfig-trouble">
<title>Si quelque chose se passe mal</title>
<para>Il y a cinq types de problèmes qui peuvent survenir lors de
la compilation d'un noyau sur mesure. Ce sont:</para>
<variablelist>
<varlistentry>
<term>La commande <command>config</command> échoue:</term>
<listitem>
<para>Si la commande &man.config.8; échoue quand
vous lui passez en paramètre la description de votre
noyau, vous avez probablement fait une simple erreur
quelque part. Heureusement &man.config.8;
affichera le numéro de la ligne qui lui a posé
problème, vous pouvez donc localiser rapidement la
ligne contenant l'erreur. Par exemple, si vous avez:</para>
<screen>config: line 17: syntax error</screen>
<para>Vérifiez que la ligne est
correctement écrite, en le comparant avec le noyau
<filename>GENERIC</filename> ou une autre
référence.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>La commande <command>make</command> échoue:</term>
<listitem>
<para>Si la commande <command>make</command> échoue,
cela signale habituellement une erreur dans la description
de votre noyau, mais qui n'est pas suffisamment sérieuse pour que
la commande &man.config.8; la détecte.
A nouveau, vérifiez votre fichier de configuration, et si
vous n'arrivez toujours pas &agrave; résoudre le
problème, envoyez un courrier électronique &agrave; la
&a.questions; en joignant votre fichier de configuration
du noyau, le diagnostic devrait être rapide.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>Le noyau ne démarre pas:<anchor
id="kernelconfig-noboot"/></term>
<listitem>
<para>Si votre nouveau noyau ne démarre pas, ou ne
reconnaît pas vos périphériques,
ne paniquez pas! Heureusement, FreeBSD dispose d'un
excellent mécanisme pour récupérer si le
noyau ne fonctionne pas. Sélectionnez simplement le noyau,
&agrave; partir duquel vous désirez démarrer,
&agrave; l'invite du chargeur de FreeBSD. Vous pouvez y
accéder quand le menu de démarrage
apparaît. Sélectionner l'option 6,
<quote>Escape to a loader prompt</quote>. A l'invite,
tapez <command>unload kernel</command> et ensuite
<command>boot /boot/<replaceable>kernel.old</replaceable>/kernel</command>,
ou le nom de fichier d'un autre noyau qui pourra démarrer
proprement. Quand on reconfigure un noyau, il est
toujours bon de conserver &agrave; portée de la main un
noyau dont on sait qu'il fonctionne.</para>
<para>Après avoir démarré avec un
noyau en état de marche, vous pouvez revérifier votre
fichier de configuration et essayer de recompiler &agrave;
nouveau votre noyau. Une ressource utile est le fichier
<filename>/var/log/messages</filename> qui enregistre,
entre autres, tous les messages du noyau &agrave; chaque
démarrage réussi. En outre, la commande
&man.dmesg.8; affichera les messages du noyau pour le
dernier démarrage.</para>
<note>
<para>Si vous avez des difficultés &agrave; compiler
un noyau, veillez &agrave; conserver un noyau
<filename>GENERIC</filename>, ou un autre noyau dont
vous savez qu'il fonctionne, sous la main, avec un nom
différent de sorte qu'il ne soit pas
écrasé &agrave; la prochaine compilation.
Vous ne pouvez pas faire confiance au noyau
<filename>kernel.old</filename> parce qu'en installant
un nouveau noyau, <filename>kernel.old</filename> est
remplacé par le dernier noyau installé dont
il n'est pas certain qu'il soit opérationnel. Aussi,
dès que possible, déplacez le noyau
opérationnel vers le
bon emplacement <filename class="directory">/boot/kernel</filename> où des commandes
comme &man.ps.1; pourront ne pas fonctionner correctement.
Pour cela, renommez le répertoire contenant le bon
noyau:</para>
<screen>&prompt.root; <userinput>mv /boot/kernel /boot/kernel.bad</userinput>
&prompt.root; <userinput>mv /boot/<replaceable>kernel.good</replaceable> /boot/kernel</userinput></screen>
</note>
</listitem>
</varlistentry>
<varlistentry>
<term>Le noyau est opérationnel, mais la commande
<command>ps</command> ne fonctionne plus du tout:</term>
<listitem>
<para>Si vous avez installé une version du noyau
différente de celle avec laquelle ont
été compilés les utilitaires système,
par exemple, un noyau
-CURRENT sur un système -RELEASE, de nombreuses commandes
d'affichage de l'état du système comme
&man.ps.1; and &man.vmstat.8; ne fonctionneront plus.
Vous devrez <link linkend="makeworld">recompiler et
installer un système</link> avec la même
version de l'arborescence des sources de celle
utilisée pour votre noyau.
C'est une des raisons pour lesquelles il n'est pas
judicieux d'utiliser des versions différentes du noyau et
du reste du système d'exploitation.</para>
</listitem>
</varlistentry>
</variablelist>
</sect1>
</chapter>