<!--
     The FreeBSD Documentation Project
     The FreeBSD French Documentation Project

     $FreeBSD$
     Original revision: 1.147
-->

<chapter id="kernelconfig">
  <chapterinfo>
    <authorgroup>
      <author>
	<firstname>Jim</firstname>
	<surname>Mock</surname>
	<contrib>Mis &agrave; jour et restructur&eacute; 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&egrave;me d'exploitation FreeBSD.
      Il est responsable de la gestion de la m&eacute;moire, de la mise en
      application des contr&ocirc;les de s&eacute;curit&eacute;,
      du r&eacute;seau, des acc&egrave;s disque, et bien plus.  Bien que
      FreeBSD devienne de plus en plus configurable dynamiquement, il est
      toujours n&eacute;cessaire occasionnellement de reconfigurer
      et recompiler votre noyau.</para>

    <para>Apr&egrave;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 &eacute;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&eacute;er et recompiler un nouveau noyau.</para>
      </listitem>

      <listitem>
	<para>Comment installer un nouveau noyau.</para>
      </listitem>

      <listitem>
	<para>Comment cr&eacute;er les entr&eacute;es dans
	  <filename>/dev</filename> qui pourront &ecirc;tre
	  n&eacute;cessaires.</para>
      </listitem>

      <listitem>
	<para>Que faire si quelque chose se passe mal.</para>
      </listitem>
    </itemizedlist>

    <para>Toutes les commandes list&eacute;es dans les exemples de ce
      chapitre doivent &ecirc;tre ex&eacute;cut&eacute;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 &eacute;tait
      un gros programme, supportant une liste fig&eacute;e de
      p&eacute;riph&eacute;riques, et si vous vouliez modifier le
      comportement du noyau alors vous deviez compiler un nouveau noyau, et
      ensuite red&eacute;marrer votre ordinateur avec le nouveau noyau.</para>

    <para>Aujourd'hui, FreeBSD s'oriente rapidement vers un mod&egrave;le
      o&ugrave; une grande partie des fonctions du noyau est contenue dans des
      modules qui peuvent &ecirc;tre dynamiquement charg&eacute;s
      et d&eacute;charg&eacute;s si n&eacute;cessaire.
      Cela permet au noyau de s'adapter au nouveau mat&eacute;riel devenant
      soudainement disponible (comme les cartes PCMCIA dans un
      ordinateur portable), ou pour qu'une nouvelle fonctionnalit&eacute;
      qui n'&eacute;tait pas n&eacute;cessaire lors de la compilation
      du noyau y soit int&eacute;gr&eacute;e.  On appelle cela un noyau
      modulaire.</para>

    <para>En d&eacute;pit de cela, il est encore n&eacute;cessaire d'effectuer
      certaines configurations de noyau en statique.  Dans certains cas
      c'est parce que la fonctionnalit&eacute; est si proche du noyau
      qu'elle ne peut &ecirc;tre rendue dynamiquement chargeable.  Dans d'autres
      cas, cela peut tout simplement venir du fait que personne n'a
      encore pris le temps d'&eacute;crire un module dynamiquement chargeable
      pour cette fonctionnalit&eacute;.</para>

    <para>Compiler un noyau sur mesure est l'un des plus importants
      rites de passage que doit endurer tout utilisateur BSD.  Cette
      op&eacute;ration, tout en prenant du temps, apportera de nombreuses
      am&eacute;liorations &agrave; votre syst&egrave;me FreeBSD.
      A la diff&eacute;rence du noyau <filename>GENERIC</filename>,
      qui doit supporter une large gamme de mat&eacute;riels, un noyau sur
      mesure ne contient que le support pour <emphasis>votre</emphasis>
      configuration mat&eacute;rielle.  Cela a de nombreux avantages,
      comme:</para>

    <itemizedlist>
      <listitem>
	<para>Un temps de d&eacute;marrage plus court.  Comme le noyau ne
	  recherchera que le mat&eacute;riel pr&eacute;sent sur votre
	  syst&egrave;me, le temps n&eacute;cessaire au d&eacute;marrage de
	  votre syst&egrave;me peut diminuer de fa&ccedil;on importante.</para>
      </listitem>

      <listitem>
	<para>Une utilisation plus faible de la m&eacute;moire.  Un noyau sur
	  mesure utilise souvent moins de m&eacute;moire que le noyau
	  <filename>GENERIC</filename>, ce qui est important car le noyau
	  doit toujours r&eacute;sider en m&eacute;moire.  Pour cette
	  raison, un noyau sur mesure est tout particuli&egrave;rement utile
	  sur un syst&egrave;me dont les ressources m&eacute;moire sont
	  limit&eacute;es.</para>
      </listitem>

      <listitem>
	<para>Le support de mat&eacute;riels suppl&eacute;mentaires.  Un noyau
	  sur mesure vous permet d'int&eacute;grer le support pour des
	  p&eacute;riph&eacute;riques, qui ne sont
	  pas pr&eacute;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&ccedil;ons par passer rapidement en revue le r&eacute;pertoire
      de configuration du noyau.  Tous les chemins d'acc&egrave;s
      mentionn&eacute;s seront relatifs au r&eacute;pertoire principal
      <filename>/usr/src/sys</filename>, qui est &eacute;galement
      accessible via le lien symbolique <filename>/sys</filename>.
      Il comporte un certain nombre de sous-r&eacute;pertoires correspondants
      &agrave; diff&eacute;rentes parties du noyau, mais les plus
      importantes, en ce qui nous concerne, sont
      <filename><replaceable>arch</replaceable>/conf</filename>, o&ugrave; vous
      &eacute;diterez votre fichier configuration personnalis&eacute;, et
      <filename>compile</filename>, qui est l'espace de travail o&ugrave;
      votre noyau sera compil&eacute;.  <replaceable>arch</replaceable>
      repr&eacute;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&eacute;veloppement de l'architecture PC,
      populaire au Japon).  Tout ce qui se trouve dans un r&eacute;pertoire
      particulier &agrave; une architecture est propre uniquement
      &agrave; cette architecture; le reste du code est un code ind&eacute;pendant du type de machine et commun &agrave;
      toutes les plates-formes sur lesquelles FreeBSD pourrait &ecirc;tre
      potentiellement port&eacute;.  Remarquez l'organisation logique de
      l'arborescence des r&eacute;pertoires, o&ugrave; chaque
      p&eacute;riph&eacute;rique, syst&egrave;me de fichiers,
      et option support&eacute;s a son propre sous-r&eacute;pertoire.
      Les versions de &os; ant&eacute;rieures &agrave; 5.X ne
      supportent que les architectures <filename>i386</filename>,
      <filename>alpha</filename> et
      <filename>sparc64</filename>.</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&eacute;s au niveau des chemins
      d'acc&egrave;s pour votre architecture.</para>

    <note>
      <para>S'il n'y a <emphasis>pas</emphasis> de r&eacute;pertoire
	<filename>/usr/src/sys</filename> sur votre syst&egrave;me,
	alors c'est que les sources du noyau n'ont pas &eacute;t&eacute;
	install&eacute;es.  La mani&egrave;re la plus facile de les installer
	est d'ex&eacute;cuter <command>/stand/sysinstall</command> en tant
	que <username>root</username>, et s&eacute;lectionner
	<guimenuitem>Configure</guimenuitem>, puis
	<guimenuitem>Distributions</guimenuitem>,
	<guimenuitem>src</guimenuitem>, <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></screen>
    </note>

    <para>Ensuite allez dans le r&eacute;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&eacute;rielles
      diff&eacute;rentes, c'est une bonne id&eacute;e de lui donner le
      m&ecirc;me nom que la machine.  Nous l'appelerons
      <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 &ecirc;tre une
	mauvaise id&eacute;e.  Si vous avez des probl&egrave;mes
	il peut &ecirc;tre tentant de juste effacer
	<filename>/usr/src</filename> et recommencer &agrave; nouveau.
	Apr&egrave;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&eacute;.  N'&eacute;ditez pas, non plus, directement le fichier
	<filename>GENERIC</filename>, il peut &ecirc;tre
	&eacute;cras&eacute; &agrave; la prochaine <link
	linkend="cutting-edge">mise &agrave; jour de l'arborescence
	des sources</link>, et vos modifications seraient
	perdues.</para>

      <para>Vous voudrez peut &ecirc;tre conserver votre fichier de
	configuration du noyau ailleurs et alors cr&eacute;er un lien
	symbolique vers le fichier dans le r&eacute;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
      &eacute;diteur de texte pr&eacute;f&eacute;r&eacute;.
      Si vous venez tout juste de finir l'installation, le seul
      &eacute;diteur disponible sera probablement
      <application>vi</application>, qui est trop complexe pour &ecirc;tre
      d&eacute;crit ici, mais est bien expliqu&eacute; dans de nombreux
      ouvrages de la <link linkend="bibliography">bibliographie</link>.
      Cependant, FreeBSD offre un &eacute;diteur plus simple appel&eacute;
      <application>ee</application> qui, si vous &ecirc;tes d&eacute;butant,
      sera votre &eacute;diteur de choix.  N'h&eacute;sitez pas &agrave;
      modifier les commentaires d'ent&ecirc;te pour y d&eacute;crire
      votre configuration ou les modifications que vous avez apport&eacute;s
      par rapport au noyau <filename>GENERIC</filename>.</para>
    <indexterm><primary>SunOS</primary></indexterm>

    <para>Si vous avez d&eacute;j&agrave; compil&eacute; un noyau sur &sunos;
      ou tout autre syst&egrave;me d'exploitation BSD, l'essentiel de fichier
      vous sera familier.  Si vous venez d'un syst&egrave;me d'exploitation
      comme DOS, &agrave; l'inverse, le fichier de configuration
      <filename>GENERIC</filename> vous para&icirc;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="cutting-edge">synchronis&eacute;
	votre arborescence des sources</link> avec les toutes
	derni&egrave;res sources du projet &os;, assurez-vous de
	toujours lire le fichier <filename>/usr/src/UPDATING</filename>
	avant d'effectuer une quelconque op&eacute;ration de mise
	&agrave; jour.  Ce fichier d&eacute;crit les probl&egrave;mes
	importants ou les domaines demandant une attention
	particuli&egrave;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.  Il
      existe deux proc&eacute;dures que vous pouvez utiliser dans ce but,
      et celle que vous utiliserez d&eacute;pendra de pourquoi vous
      recompilez le noyau et de la version de &os; que vous
      utilisez.</para>

    <itemizedlist>
      <listitem>
	<para>Si vous avez <emphasis>uniquement</emphasis> install&eacute;
	  les sources du noyau, utilisez la proc&eacute;dure
	  num&eacute;ro 1.</para>
      </listitem>

      <listitem>
	<para>Si vous utilisez une version de FreeBSD ant&eacute;rieure
	  &agrave; la 4.0, et que vous ne mettez <emphasis>pas</emphasis>
	  &agrave; jour vers la version 4.0 ou sup&eacute;rieure en utilisant la
	  proc&eacute;dure <maketarget>make world</maketarget>, employez la
	  proc&eacute;dure 1.</para>
      </listitem>

      <listitem>
	<para>Si vous compilez un nouveau noyau sans mettre &agrave; jour le
	  code source (peut &ecirc;tre pour juste ajouter une nouvelle
	  option, comme <literal>IPFIREWALL</literal>) vous pouvez
	  utilisez n'importe quelle proc&eacute;dure.</para>
      </listitem>

      <listitem>
	<para>Si vous recompilez le noyau durant le processus
          <maketarget>make world</maketarget> utilisez la proc&eacute;dure
	  num&eacute;ro 2.</para>
      </listitem>
    </itemizedlist>

    <indexterm>
      <primary><command>cvsup</command></primary>
    </indexterm>
    <indexterm><primary>CVS anonyme</primary></indexterm>
    <indexterm><primary>CTM</primary></indexterm>
    <indexterm>
      <primary>CVS</primary>
      <secondary>anonyme</secondary>
    </indexterm>

    <para>Si vous n'avez <emphasis>pas</emphasis> mis &agrave; jour
      votre arborescence des sources depuis la derni&egrave;re fois
      o&ugrave; vous avez effectu&eacute; avec succ&egrave;s un cycle
      <maketarget>buildworld</maketarget>-<maketarget>installworld</maketarget>
      (vous n'avez pas ex&eacute;cut&eacute;
      <application>CVSup</application>,
      <application>CTM</application>, ou utilis&eacute;
      <application>anoncvs</application>), alors vous pouvez utiliser sans
      risque la s&eacute;quence <command>config</command>,
      <command>make depend</command>, <command>make</command>,
      <command>make install</command>.</para>

    <procedure>
      <title>Proc&eacute;dure 1.  Compiler un noyau suivant la
	m&eacute;thode dite &ldquo;traditionnelle&rdquo;</title>

      <step>
	<para>Ex&eacute;cutez &man.config.8; pour g&eacute;n&eacute;rer
	  le code source du noyau.</para>

	<screen>&prompt.root; <userinput>/usr/sbin/config <replaceable>MONNOYAU</replaceable></userinput></screen>
      </step>

      <step>
	<para>Passez dans le r&eacute;pertoire de compilation.
	  &man.config.8; affichera le nom de ce r&eacute;pertoire
	  apr&egrave;s avoir &eacute;t&eacute; ex&eacute;cut&eacute;
	  comme ci-dessus.</para>

	<screen>&prompt.root; <userinput>cd ../compile/<replaceable>MYKERNEL</replaceable></userinput></screen>

	<para>Pour les versions de &os; ant&eacute;rieures &agrave; la
	  5.0, utiliser plut&ocirc;t la forme suivante:</para>

	<screen>&prompt.root; <userinput>cd ../../compile/<replaceable>MONNOYAU</replaceable></userinput></screen>
      </step>

      <step>
	<para>Compilez le noyau.</para>

	<screen>&prompt.root; <userinput>make depend</userinput>
&prompt.root; <userinput>make</userinput></screen>
      </step>

      <step>
	<para>Installez le nouveau noyau.</para>

	<screen>&prompt.root; <userinput>make install</userinput></screen>
      </step>
    </procedure>

    <procedure>
      <title>Proc&eacute;dure 2.  Compiler un noyau suivant la
	&ldquo;nouvelle&rdquo; m&eacute;thode.</title>

      <step>
	<para>Passez dans le r&eacute;pertoire
	  <filename>/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>Sous FreeBSD&nbsp;4.2 et versions ant&eacute;rieures vous devez
	remplacer <literal>KERNCONF=</literal> par <literal>KERNEL=</literal>.
        Une version 4.2-STABLE qui a &eacute;t&eacute;
	r&eacute;cup&eacute;r&eacute;e avant le 2 f&eacute;vrier
	2001 ne reconna&icirc;t pas le param&egrave;tre
        <literal>KERNCONF=</literal>.</para>
    </note>

    <indexterm>
      <primary><filename role="directory">/boot/kernel.old</filename></primary>
    </indexterm>

    <para>Le nouveau noyau sera copi&eacute; dans le r&eacute;pertoire
      <filename role="directory">/boot/kernel</filename> avec le nom
      <filename>/boot/kernel/kernel</filename> et l'ancien noyau sera renomm&eacute; en
      <filename>/boot/kernel.old/kernel</filename>.  Maintenant, arr&ecirc;tez
      le syst&egrave;me et red&eacute;marrez pour utiliser votre
      nouveau noyau.
      Si quelque chose se passe mal, il y a quelques instructions
      de <link linkend="kernelconfig-trouble">d&eacute;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&egrave;re dans le cas o&ugrave;
      votre nouveau noyau <link linkend="kernelconfig-noboot">ne
      d&eacute;marre pas</link>.</para>

    <note>
      <para>Sous &os;&nbsp;4.X et versions pr&eacute;c&eacute;dentes,
	les noyaux sont install&eacute;s sous le nom <filename>/kernel</filename>,
	les modules dans <filename
	class="directory">/modules</filename>
	et les anciens noyaux sont archiv&eacute;s en tant que
	<filename>/kernel.old</filename>.  Les autres fichiers
	concernant le processus de d&eacute;marrage, comme le chargeur
	(&man.loader.8;) et la configuration du d&eacute;marrage
	sont conserv&eacute;s dans le
	r&eacute;pertoire <filename>/boot</filename>.
	Les modules tiers et personnalis&eacute;s peuvent &ecirc;tre
	plac&eacute;s dans <filename class="directory">/boot/modules</filename>,
	bien que les utilisateurs doivent &ecirc;tre conscients
	que garder ses modules synchronis&eacute;s avec le noyau
	compil&eacute; est tr&egrave;s important.
	Les modules qui ne sont pas destin&eacute;s &agrave; fonctionner
	avec le noyau compil&eacute; peuvent &ecirc;tre instables et
	ne pas donner les resultats escompt&eacute;s.</para></note>

    <note>
      <para>Si vous avez ajout&eacute; de nouveaux
	p&eacute;riph&eacute;riques (comme une carte son) et que vous utilisez FreeBSD&nbsp;4.X ou une version ant&eacute;rieure, vous devrez peut
	&ecirc;tre rajouter des fichiers sp&eacute;ciaux de
	p&eacute;riph&eacute;riques dans votre r&eacute;pertoire
	<filename class="directory">/dev</filename> avant de pouvoir les utiliser.  Pour
	plus d'informations, reportez-vous &agrave; la section <link
	linkend="kernelconfig-nodes">Cr&eacute;er les fichiers
	sp&eacute;ciaux de p&eacute;riph&eacute;riques</link> plus loin dans ce
	chapitre.</para>
    </note>
  </sect1>

  <sect1 id="kernelconfig-config">
    <sect1info>
      <authorgroup>
	<author>
	  <firstname>Joel</firstname>
	  <surname>Dahl</surname>
	  <contrib>Mis &agrave; jour pour &os; 5.X par </contrib>
	  <!-- Ao&ucirc;t 2004, PR docs/70674 -->
	</author>
	<!-- <editor><othername role="freefall login">ceri</othername></editor> -->
      </authorgroup>
    </sect1info>
    <title>Le fichier de configuration</title>
    <indexterm>
      <primary>noyau</primary>
      <secondary>NOTES</secondary>
    </indexterm>
    <indexterm>
      <primary>noyau</primary>
      <secondary>LINT</secondary>
    </indexterm>
    <indexterm><primary>NOTES</primary></indexterm>
    <indexterm><primary>LINT</primary></indexterm>
    <indexterm>
      <primary>noyau</primary>
      <secondary>fichier de configuration</secondary>
    </indexterm>

    <para>Le format g&eacute;n&eacute;ral du fichier de configuration
      est assez simple.  Chaque ligne est compos&eacute;e d'un
      mot-cl&eacute; et d'un ou plusieurs arguments.  Pour simplifier,
      la plupart des lignes ne contiennent qu'un seul argument.
      Tout ce qui suit le caract&egrave;re <literal>#</literal> est
      consid&eacute;r&eacute; comme un commentaire et ignor&eacute;.
      Les sections suivantes d&eacute;crivent chaque mot-cl&eacute;,
      normalement dans l'ordre o&ugrave; ils apparaissent dans le fichier
      <filename>GENERIC</filename>, quoique certains mots-cl&eacute;s
      apparent&eacute;s aient &eacute;t&eacute; regroup&eacute;s
      en une seule section (R&eacute;seau par exemple) bien qu'ils soient
      en fait dispers&eacute;s dans le fichier <filename>GENERIC</filename>.
      <anchor id="kernelconfig-options"> Pour une liste exhaustive des
      options et p&eacute;riph&eacute;riques d&eacute;pendants de
      l'architecture utilis&eacute;e, consultez le fichier
      <filename>NOTES</filename> pr&eacute;sent
      dans le m&ecirc;me r&eacute;pertoire que <filename>GENERIC</filename>.
      Pour les options ne d&eacute;pendant pas de l'architecture,
      consultez le fichier
      <filename>/usr/src/sys/conf/NOTES</filename>.</para>

    <note>
      <para>Le fichier <filename>NOTES</filename> n'existe pas sous
	&os;&nbsp;4.X.  Consultez &agrave; la place le fichier
	<filename>LINT</filename> pour des explications
	d&eacute;taill&eacute;es sur les options et les
	p&eacute;riph&eacute;riques pr&eacute;sents dans le fichier
	<filename>GENERIC</filename>.  Le fichier
	<filename>LINT</filename> a deux objectifs sous &os;&nbsp;4.X:
	fournir une r&eacute;f&eacute;rence pour choisir les options
	du noyau quand on compile un noyau sur mesures, fournir une
	configuration du noyau avec le plus d'options
	param&eacute;trables utilisant des valeurs diff&eacute;rentes
	de celles par d&eacute;faut.  La raison derri&egrave;re cela
	&eacute;tait qu'une telle configuration facilitait (et c'est
	toujours le cas) grandement les choses quand il est question
	de tester du code nouveau ou des modifications du code
	existant qui peuvent &ecirc;tre &agrave; l'origine de conflits
	avec d'autres parties du noyau.  L'organisation de la
	configuration du noyau a cependant subit d'importants
	changements sous la version 5.X; un exemple est le fait que
	les options de param&eacute;trage des pilotes aient
	&eacute;t&eacute; d&eacute;plac&eacute;es dans un fichier
	<literal>hints</literal> de mani&egrave;re &agrave; ce
	qu'elles puissent &ecirc;tre modifi&eacute;es et
	charg&eacute;es dynamiquement au d&eacute;marrage du
	syst&egrave;me, et le fichier <filename>LINT</filename>
	pouvait ne plus contenir du tout ces options.  Pour cela et
	d'autres raisons, le fichier <filename>LINT</filename> a
	&eacute;t&eacute; renomm&eacute; en <filename>NOTES</filename>
	et fut conserv&eacute; principalement pour la premi&egrave;re
	raison &agrave; l'origine de son existence: documenter les
	options disponibles &agrave; l'utilisateur.</para>

      <para>Sous &os;&nbsp;5.X et les versions suivantes, vous pouvez
	toujours g&eacute;n&eacute;rer un fichier <filename>LINT</filename>
	compilable en tapant:</para>

      <screen>&prompt.root; <userinput>cd /usr/src/sys/<replaceable>i386</replaceable>/conf && make LINT</userinput></screen>
    </note>

    <indexterm>
      <primary>noyau</primary>
      <secondary>exemple de 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&eacute;cessaires pour un peu plus de clart&eacute;.
      Cet exemple devrait correspondre de fa&ccedil;on tr&egrave;s proche
      &agrave; votre copie du fichier
      <filename>/usr/src/sys/<replaceable>i386</replaceable>/conf/GENERIC</filename>.
    </para>

    <programlisting>#
# GENERIC -- Generic kernel configuration file for FreeBSD/i386
#
# For more information on this file, please read the handbook section on
# Kernel Configuration Files:
#
#    http://www.FreeBSD.org/doc/en_US.ISO8859-1/books/handbook/kernelconfig-config.html
#
# The handbook is also available locally in /usr/share/doc/handbook
# if you've installed the doc distribution, otherwise always see the
# FreeBSD World Wide Web server (http://www.FreeBSD.ORG/) for the
# latest information.
#
# An exhaustive list of options and more detailed explanations of the
# device lines is also present in the ../../conf/NOTES and NOTES files.
# If you are in doubt as to the purpose or necessity of a line, check first
# in NOTES.
#
# &dollar;FreeBSD: /repoman/r/ncvs/src/sys/i386/conf/GENERIC,v 1.413 2004/08/11 01:34:18 rwatson Exp &dollar;</programlisting>

    <para>Ce qui suit sont les mots-cl&eacute;s obligatoires requis dans
      <emphasis>tous</emphasis> les noyaux que vous compilez:</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 &ecirc;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&eacute;c&egrave;de d&eacute;finit le type de CPU
      pr&eacute;sent dans votre syst&egrave;me.  Il peut y avoir plusieurs
      occurrences de la ligne CPU (si, par exemple, vous n'&ecirc;tes pas s&ucirc;r
      de devoir utiliser <literal>I586_CPU</literal>
      ou <literal>I686_CPU</literal>), cependant, pour un noyau
      personnalis&eacute;, il est mieux de sp&eacute;cifier uniquement
      le CPU que vous avez.
      Si vous n'&ecirc;tes pas s&ucirc;r du type, vous pouvez lister
      le fichier <filename>/var/run/dmesg.boot</filename> pour visualiser les
      messages de d&eacute;marrage.</para>

    <indexterm>
      <primary>options du noyau</primary>
      <secondary>type de cpu</secondary>
    </indexterm>
    <para>Le support <literal>I386_CPU</literal> est encore fourni
      dans les sources de &os;, mais est d&eacute;sactiv&eacute;
      par d&eacute;faut dans les branches -STABLE et -CURRENT.  Cela
      signifie que pour installer &os; sur un 386, vous avez
      d&eacute;sormais les possibilit&eacute;s suivantes:</para>

    <itemizedlist>
      <listitem>
	<para>Installer une vieille version de &os; et recompiler
	  &agrave; partir des sources comme d&eacute;crit dans la
	  <xref linkend="kernelconfig-building"></para>
      </listitem>

      <listitem>
        <para>Compiler le syst&egrave;me de base et le noyau sur une
	  machine plus r&eacute;cente et installer le tout sur le 386
	  en utilisant les fichiers pr&eacute;-compil&eacute;s du
	  r&eacute;pertoire <filename>/usr/obj</filename>
	  (voir la <xref linkend="small-lan"> pour plus de
	  d&eacute;tails).</para>
      </listitem>

      <listitem>
        <para>Fabriquer votre propre version de &os; incluant le
	  support <literal>I386_CPU</literal> dans les noyaux
	  du CD-ROM d'installation.</para>
      </listitem>
    </itemizedlist>

    <para>La premi&egrave;re de ces options est probablement
      la plus simple de toutes, mais vous aurez besoin de beaucoup
      d'espace disque ce qui, sur une machine 386, peut
      &ecirc;tre difficile &agrave; trouver.</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&eacute;c&eacute;dents.
      La valeur que vous donnez &agrave; la cha&icirc;ne <literal>ident</literal>
      s'affichera au d&eacute;marrage du noyau, il est donc utile de donner
      au nouveau noyau un nom diff&eacute;rent si vous voulez le
      diff&eacute;rencier de votre noyau habituel (e.g., vous voulez compiler
      un noyau exp&eacute;rimental).</para>
    <indexterm>
      <primary>options du noyau</primary>
      <secondary>maxusers</secondary>
    </indexterm>

    <programlisting>maxusers          <replaceable>n</replaceable></programlisting>

    <para>L'option <literal>maxusers</literal> d&eacute;finit la taille d'un
      certain nombre de tables importantes du syst&egrave;me.  Ce nombre est
      suppos&eacute; &ecirc;tre en gros &eacute;gal au nombre d'utilisateurs
      simultan&eacute;s
      que vous vous attendez &agrave; avoir sur votre machine.</para>

    <para>Depuis FreeBSD&nbsp;4.5, le syst&egrave;me auto-ajuste ce param&egrave;tre
      pour vous si vous le fixez explicitement &agrave;
      <literal>0</literal><footnote>
	<para>L'algorithme d'auto-ajustement fixe
	  <literal>maxusers</literal> &agrave; une valeur &eacute;gale
	  &agrave; la quantit&eacute; de m&eacute;moire pr&eacute;sente
	  sur le syst&egrave;me, avec un minimum de 32 et un maximum de
	  384..</para></footnote>.
      Sous &os;&nbsp;5.X et versions suivantes, <literal>maxusers</literal> est par
      d&eacute;faut &eacute;gal &agrave; <literal>0</literal>
      si rien n'est sp&eacute;cifi&eacute;.
      Si vous utilisez une version de &os;
      ant&eacute;rieure &agrave; la 4.5, ou que vous d&eacute;sirez le
      g&eacute;rer par vous m&ecirc;me, vous devrez fixer
      <literal>maxusers</literal> &agrave; 4 au moins, en particulier si vous
      utilisez le syst&egrave;me X Window ou compilez des logiciels.  La
      raison de cela est que la valeur la plus importante que
      dimensionne <literal>maxusers</literal> est le nombre maximal de
      processus, qui est fix&eacute; &agrave; <literal>20 + 16 *
      maxusers</literal>, donc si vous positionnez
      <literal>maxusers</literal> &agrave; 1, alors vous ne pouvez avoir que
      36 processus en simultan&eacute;s, comprenant les 18, environ, que le
      syst&egrave;me lance au d&eacute;marrage et les 15, &agrave;
      peu pr&egrave;s, que vous cr&eacute;erez probablement au
      d&eacute;marrage du syst&egrave;me X Window.  M&ecirc;me une
      t&acirc;che simple comme la lecture d'une page de manuel lancera
      jusqu'&agrave; neuf processus pour la filtrer, la
      d&eacute;compresser, et l'afficher.  Fixer <literal>maxusers</literal>
      &agrave; 64 autorisera jusqu'&agrave; 1044 processus simultan&eacute;s, ce
      qui devrait suffire dans la plupart des cas.  Si, toutefois,
      vous obtenez le message d'erreur tant redout&eacute; <errortype>proc
      table full</errortype> quand vous tentez d'ex&eacute;cuter un nouveau
      programme, ou g&eacute;rez un serveur avec un grand nombre
      d'utilisateurs en simultan&eacute;s (comme <hostid
      role="fqdn">ftp.FreeBSD.org</hostid>), vous pouvez toujours
      augmenter cette valeur et recompiler le noyau.</para>

    <note>
      <para><literal>maxusers</literal> ne limite <emphasis>pas</emphasis>
	le nombre d'utilisateurs qui pourront ouvrir une session sur
	votre machine.  Cette valeur dimensionne simplement
	diff&eacute;rentes tables &agrave; des valeurs raisonnables en fonction
	du nombre maximal d'utilisateur que vous aurez vraisemblablement
	sur votre syst&egrave;me et combien de processus chacun d'entre eux
	pourra utiliser.  Un mot-cl&eacute; qui <emphasis>limite</emphasis>
	le nombre d'utilisateurs distants et de terminaux X en
	simultan&eacute; est <link
	linkend="kernelconfig-ptys"><literal>pseudo-device pty
	16</literal></link>.  Avec &os;&nbsp;5.X, vous n'avez pas
	&agrave; vous soucier de ce nombre puisque le pilote
	&man.pty.4; est capable d'<quote>auto-clonage</quote>, vous
	devez donc utiliser la ligne <literal>device pty</literal>
	dans votre fichier de configuration.</para>
    </note>

    <programlisting># Floating point support - do not disable.
device          npx</programlisting>

    <para><literal>npx</literal> est sous FreeBSD l'interface avec le
      coprocesseur math&eacute;mathique, qu'il soit mat&eacute;riel
      ou &eacute;mul&eacute; par logiciel. Cette option <emphasis>n'est
      pas</emphasis> facultative.</para>

    <programlisting># Pseudo devices
device   loop          # Network loopback</programlisting>

    <para>C'est l'interface g&eacute;n&eacute;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&eacute;ponse vous parviendra via
      ce pseudo-p&eacute;riph&eacute;rique.  Ceci est
      <emphasis>obligatoire</emphasis>.  Sous &os;&nbsp;4.X, vous
      devez utiliser la ligne <literal>pseudo-device
      loop</literal>.</para>

    <para>Tout ce qui suit est plus ou moins optionnel.  Voyez les
      notes sous ou &agrave; c&ocirc;t&eacute; de chaque
      option pour plus d'information.</para>

    <programlisting>#To statically compile in device wiring instead of /boot/device.hints
#hints          "GENERIC.hints"         #Default places to look for devices.</programlisting>

    <para>Sous &os; 5.X et versions plus r&eacute;centes
      &man.device.hints.5; est utilis&eacute; pour configurer les
      param&egrave;tres des pilotes de p&eacute;riph&eacute;riques.
      Le &man.loader.8; recherchera le fichier
      <filename>/boot/device.hints</filename> au d&eacute;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&eacute;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; n'inclus
      pas d'information de d&eacute;bogage lors de la compilation
      du noyau et retire la plupart des symboles une fois
      que l'&eacute;dition de liens du noyau r&eacute;sultant est
      termin&eacute;e, pour &eacute;conomiser de l'espace &agrave;
      l'endroit o&ugrave; il va &ecirc;tre install&eacute;.
      Si vous avez l'intention de tester des noyaux dans la branche
      -CURRENT ou effectuer des modifications personnelles sur
      le noyau &os;, vous pourriez vouloir d&eacute;commenter
      cette ligne.  Cela activera l'utilisation de l'option
      <option>-g</option> qui autorisera les informations de
      d&eacute;bogage quand le noyau sera pass&eacute; &agrave;
      &man.gcc.1;.  La m&ecirc;me chose peut &ecirc;tre
      accomplie par l'option <option>-g</option> de &man.config.8;,
      si vous utilisez la m&eacute;thode &ldquo;traditionnelle&rdquo;
      pour la compilation de vos noyaux (Voir la <xref
      linkend="kernelconfig-building"> pour plus
      d'information).</para>

    <programlisting>options          SCHED_4BSD         # 4BSD scheduler</programlisting>

    <para>L'ordonnanceur (<quote>scheduler</quote>) traditionnel de
      &os;.  En fonction de la charge de travail de votre
      syst&egrave;me, vous pouvez gagner en performance en utilisant
      le nouvel ordonnanceur ULE pour &os; qui a &eacute;t&eacute;
      con&ccedil;u tout sp&eacute;cialement pour les syst&egrave;mes
      SMP, mais il fonctionne &eacute;galement bien avec les
      syst&egrave;mes monoprocesseur.  Si vous d&eacute;sirez le
      tester, remplacez <literal>SCHED_4BSD</literal> par
      <literal>SCHED_ULE</literal> dans votre fichier de
      configuration.</para>

    <programlisting>options          INET          #InterNETworking</programlisting>

    <para>Support r&eacute;seau.  Conservez-le, m&ecirc;me si vous
      n'envisagez pas de vous connecter &agrave; un r&eacute;seau.
      La plupart des programmes utilisent le r&eacute;seau &ldquo;en
      boucle&rdquo; (i.e., &eacute;tablissent des connexions r&eacute;seau
      avec le PC lui-m&ecirc;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&egrave;me de fichiers de base sur disque dur.
      Gardez ces options si vous d&eacute;marrez depuis le disque
      dur.</para>

    <programlisting>options          UFS_ACL      #Support for access control lists</programlisting>

    <para>Cette option, uniquement pr&eacute;sente sous &os;&nbsp;5.X,
      active le support des listes de contr&ocirc;le d'acc&egrave;s
      au syst&egrave;me de fichiers (<acronym>ACL</acronym>).
      Elles reposent sur l'utilisation
      d'attributs &eacute;tendus et d'<acronym>UFS2</acronym>,
      cette fonctionnalit&eacute; est d&eacute;crite dans la <xref
      linkend="fs-acl">.  Les <acronym>ACL</acronym>s sont activ&eacute;es
      par d&eacute;faut, et leur support ne devraient pas &ecirc;tre
      retir&eacute; du noyau si elles ont &eacute;t&eacute;
      pr&eacute;c&eacute;demment utilis&eacute;es sur un
      syst&egrave;me de fichiers, &eacute;tant donn&eacute; que cela
      supprimera les listes de contr&ocirc;le d'acc&egrave;s
      changeant alors la fa&ccedil;on dont sont prot&eacute;g&eacute;s
      les fichiers d'une mani&egrave;re impr&eacute;visible.</para>

    <programlisting>options          UFS_DIRHASH  #Improve performance on big directories</programlisting>

    <para>Cette option inclut certaines fonctions pour acc&eacute;l&eacute;rer les
      op&eacute;rations disque sur de gros r&eacute;pertoires,
      aux d&eacute;pens d'employer de la m&eacute;moire suppl&eacute;mentaire.
      Vous conserverez normalement cela pour un gros serveur, ou une
      station de travail tr&egrave;s active, et vous l'enl&egrave;verez
      si vous utilisez FreeBSD sur un petit syst&egrave;me o&ugrave;
      la m&eacute;moire prime et la vitesse d'acc&egrave;s disque est moins
      importante, comme pour un coupe-feu.</para>

    <programlisting>options          SOFTUPDATES  #Enable FFS Soft Updates support</programlisting>

    <para>Cette option rajoutera le support des &ldquo;Soft Updates&rdquo;
      dans le noyau, ce qui aidera l'acc&eacute;l&eacute;ration des
      acc&egrave;s en &eacute;criture sur les disques.
      M&ecirc;me quand cette fonction est fournit par le noyau, elle
      doit &ecirc;tre activ&eacute;e sur chaque disque.
      Regardez le r&eacute;sultat de la
      commande &man.mount.8; pour voir si les &ldquo;Soft Updates&rdquo; sont activ&eacute;es sur les disques de votre syst&egrave;me.
      Si vous ne voyez pas appara&icirc;tre l'option
      <literal>soft-updates</literal> alors vous devrez l'activer en
      utilisant les commandes &man.tunefs.8; (pour les syst&egrave;mes de fichiers existant) ou &man.newfs.8; (pour les nouveaux
      syst&egrave;mes de fichiers).</para>

    <programlisting>options          MD_ROOT      #MD is a potential root device</programlisting>

    <para>Cette option active le support pour des disques virtuels en
      m&eacute;moire utilis&eacute;s comme p&eacute;riph&eacute;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&egrave;me de fichiers r&eacute;seau.  A moins que vous
      n'envisagiez de monter des partitions d'un serveur de fichiers
      &unix; par l'interm&eacute;diaire d'un r&eacute;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&egrave;me de fichiers &ms-dos;.  A moins que vous
      n'envisagiez de monter une partition DOS d'un disque dur au
      d&eacute;marrage, vous pouvez sans risque commenter cette option.
      Le module sera automatiquement charg&eacute; la premi&egrave;re
      fois que vous monterez une partition DOS, comme d&eacute;crit
      plus haut.  Par ailleurs, l'excellent logiciel
      <filename role="package">emulators/mtools</filename>
      vous permet d'acc&eacute;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&egrave;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&eacute;
      dynamiquement d&egrave;s que vous monterez un CDROM).  Les CDROMs
      audios n'ont pas besoin de ce syst&egrave;me de fichiers.</para>

    <programlisting>options          PROCFS       #Process filesystem</programlisting>

    <para>Le syst&egrave;me de fichiers pour les processus.  C'est un
      &ldquo;pseudo-syst&egrave;me&rdquo; de fichiers mont&eacute; 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&egrave;me.  Sous &os;&nbsp;5.X et versions suivantes,
      l'utilisation de <literal>PROCFS</literal> n'est pas
      n&eacute;cessaire la plupart du temps, comme la majeur partie
      des outils de d&eacute;bogage et de monitoring ont
      &eacute;t&eacute; adapt&eacute;s pour s'ex&eacute;cuter sans
      <literal>PROCFS</literal>: contrairement &agrave; &os;&nbsp;4.X, les
      nouvelles installations de &os;&nbsp;5.X ne monteront pas par le
      d&eacute;faut le syst&egrave;me de fichiers virtuel des processus.
      De plus, les noyaux
      &os;&nbsp;6.X-CURRENT faisant usage de l'option <literal>PROCFS</literal>
      doivent maintenant inclure le support
      <literal>PSEUDOFS</literal>:</para>

    <programlisting>options          PSEUDOFS     #Pseudo-filesystem framework</programlisting>

    <para>L'option <literal>PSEUDOFS</literal> n'est pas disponible
      sous &os;&nbsp;4.X.</para>

    <programlisting>options          GEOM_GPT          # GUID Partition Tables.</programlisting>

    <para>Cette option apporte la possibilit&eacute; 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&eacute; 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&eacute;cessaires aux syst&egrave;mes
      &i386; et Alpha fonctionnant sous &os;&nbsp;5.X pour supporter
      les applications compil&eacute;es sur d'anciennes version de &os;
      qui utilisent d'anciennes interfaces d'appel syst&egrave;me.
      Il est recommand&eacute; d'utiliser cette option sur tous
      les syst&egrave;mes &i386; et Alpha susceptibles d'ex&eacute;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          SCSI_DELAY=15000    #Delay (in ms) before probing SCSI</programlisting>

    <para>Cette option oblige le noyau &agrave; attendre 15 secondes avant
      de rechercher les p&eacute;riph&eacute;riques SCSI pr&eacute;sents
      sur votre syst&egrave;me.  Si vous n'avez que des disques IDE,
      vous pouvez l'ignorer, sinon vous voudrez peut-&ecirc;tre
      diminuer cette valeur, &eacute;ventuellement &agrave; 5 secondes,
      pour acc&eacute;l&eacute;rer le d&eacute;marrage du syst&egrave;me.
      Bien s&ucirc;r, si vous le faites, et que FreeBSD a du mal &agrave;
      reconna&icirc;tre vos p&eacute;riph&eacute;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&eacute;bogage.</para>

    <programlisting>options          SYSVSHM             #SYSV-style shared memory</programlisting>

    <para>Cette option impl&eacute;mente la m&eacute;moire
      partag&eacute;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          SYSVSEM             #SYSV-style semaphores</programlisting>

    <para>Support des s&eacute;maphores System&nbsp;V.  D'un usage moins courant,
      mais n'augmente la taille du noyau que de quelques centaines
      d'octets.</para>

    <programlisting>options          SYSVMSG             #SYSV-style message queues</programlisting>

    <para>Support des messages System&nbsp;V.  Encore une fois, cette option
      n'augmente que de quelques centaines d'octets la taille du
      noyau.</para>

    <note>
      <para>L'option <option>-p</option> de la commande &man.ipcs.1; donnera la liste des processus
	utilisant chacun de ces m&eacute;canismes System&nbsp;V.</para>
    </note>

    <programlisting>options 	     _KPOSIX_PRIORITY_SCHEDULING # POSIX P1003_1B real-time extensions</programlisting>

    <para>Extensions temps-r&eacute;el ajout&eacute;es dans la norme
      &posix; 1993.  Certaines applications du catalogue des logiciels
      port&eacute;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&eacute;e CDEV dans le r&eacute;pertoire
      <filename>/dev</filename>.</para>

    <programlisting>options          AHC_REG_PRETTY_PRINT     # Print register bitfields in debug
                                          # output.  Adds ~128k to driver.
options          AHD_REG_PRETTY_PRINT     # Print register bitfields in debug
                                          # output.  Adds ~215k to driver.</programlisting>

    <para>Ceci aide le d&eacute;boguage en affichant l'&eacute;tat des
      registres de mani&egrave;re plus simple &agrave; lire.</para>

    <programlisting>options          ADAPTIVE_GIANT    # Giant mutex is adaptive.</programlisting>

    <para><quote>Giant</quote> est le nom d'un m&eacute;canisme
      d'exclusion mutuelle (un <quote>mutex</quote> dormant) qui
      prot&egrave;ge l'acc&egrave;s &agrave; un ensemble important de
      ressources du noyau.  Aujourd'hui c'est un goulot
      d'&eacute;tranglement des performances inacceptable que l'on est
      en train de remplacer activement par des verrous qui
      prot&egrave;gent les ressources individuelles.  L'option
      <literal>ADAPTIVE_GIANT</literal> permet &agrave; Giant
      d'&ecirc;tre inclus dans l'ensemble des mutex lanc&eacute;s de
      mani&egrave;re adaptative.  C'est &agrave; dire, quand un thread
      d&eacute;sire verrouiller le mutex Giant, mais que ce dernier
      est d&eacute;j&agrave; verrouill&eacute; par un thread sur un
      autre CPU, le premier thread continuera &agrave; fonctionner et
      attendra la lib&eacute;ration du verrou.  Normalement, le thread
      retournera &agrave; l'&eacute;tat dormant et attendra une
      nouvelle chance de pouvoir s'ex&eacute;cuter.  Si vous
      n'&ecirc;tes pas s&ucirc;r, laissez la configuration en
      l'&eacute;tat.</para>

    <indexterm>
      <primary>options du noyau</primary>
      <secondary>SMP</secondary>
    </indexterm>
    <programlisting>device          apic               # I/O APIC</programlisting>

    <para>Le p&eacute;riph&eacute;rique apic active l'utilisation de
      l'E/S APIC pour l'acheminement des interruptions.  Le
      p&eacute;riph&eacute;rique apic peut &ecirc;tre utilis&eacute;
      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>

    <programlisting>device          isa</programlisting>

    <para>Tous les PCs support&eacute;s par FreeBSD ont un contr&ocirc;leur
      ISA.  Ne supprimez pas cette ligne m&ecirc;me si vous ne disposez pas
      de slot ISA.  Si vous avez un syst&egrave;me IBM PS/2 (Micro Channel Architecture),
      FreeBSD fournit un support limit&eacute; pour l'instant.  Pour plus
      d'informations au sujet du support MC, voir le fichier
      <filename>/usr/src/sys/i386/conf/NOTES</filename>.</para>

    <programlisting>device          eisa</programlisting>

    <para>Rajoutez cela si vous avez une carte m&egrave;re EISA.
      Cela permet l'auto-d&eacute;tection et la configuration de tous les
      p&eacute;riph&eacute;riques pr&eacute;sents sur le bus
      EISA.</para>

    <programlisting>device          pci</programlisting>

    <para>Ajoutez cette option si vous avez une carte m&egrave;re PCI.
      Cela permet l'auto-d&eacute;tection des cartes PCI et g&egrave;re
      l'interface entre les bus PCI et ISA.</para>

    <programlisting>device          agp</programlisting>

    <para>Ajoutez cette option si vous avez une carte AGP dans votre
      syst&egrave;me.  Cela activera le support AGP, et l'AGP GART pour
      les cartes qui ont cette fonction.</para>

    <programlisting># Floppy drives
device          fdc</programlisting>

    <para>C'est le contr&ocirc;leur de lecteur de disquettes.</para>

    <programlisting># ATA and ATAPI devices
device          ata</programlisting>

    <para>Ce pilote supporte tous les p&eacute;riph&eacute;riques
      ATA et ATAPI.  Vous n'avez besoin que d'une seule ligne
      <literal>device ata</literal> pour que le noyau d&eacute;tecte tous les
      p&eacute;riph&eacute;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&eacute;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&eacute;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&eacute;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&eacute;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&eacute;rotation des p&eacute;riph&eacute;riques
      statique, sans cela l'allocation des num&eacute;ros de
      p&eacute;riph&eacute;riques sera dynamique.</para>

    <programlisting># SCSI Controllers
device          ahb        # EISA AHA1742 family
device          ahc        # AHA2940 and onboard AIC7xxx devices
device          ahd        # AHA39320/29320 and onboard AIC79xx devices
device          amd        # AMD 53C974 (Teckram DC-390(T))
device          isp        # Qlogic family
device          mpt        # LSI-Logic MPT-Fusion
#device         ncr        # NCR/Symbios Logic
device          sym        # NCR/Symbios Logic (newer chipsets)
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&ocirc;leurs SCSI.  Mettez en commentaires ceux que vous
      n'avez pas sur votre syst&egrave;me.  Si vous n'avez qu'un
      syst&egrave;me IDE, vous pouvez supprimer toutes ces lignes.</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&eacute;riph&eacute;riques SCSI.  A nouveau, mettez en
      commentaires tous ceux que vous n'avez pas, ou si vous n'avez
      que du mat&eacute;riel IDE, vous pouvez tous les supprimer.</para>

    <note>
      <para>Le pilote USB &man.umass.4; et quelques autres pilotes
	utilisent le sous-syst&egrave;me SCSI m&ecirc;me si ce ne sont
	pas de v&eacute;ritables p&eacute;riph&eacute;riques SCSI.  Par
	cons&eacute;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          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          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          mlx        # Mylex DAC960 family
device          pst        # Promise Supertrak SX6000
device          twe        # 3ware ATA RAID</programlisting>

    <para>Contr&ocirc;leurs RAID support&eacute;s.  Si vous n'avez aucun de ces
      derniers dans votre syst&egrave;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&ocirc;leur du clavier (<literal>atkbdc</literal>) permet
      de g&eacute;rer les E/S du clavier AT et des
      p&eacute;riph&eacute;riques de pointage PS/2.  Ce contr&ocirc;leur
      est n&eacute;cessaire au pilote de p&eacute;riph&eacute;rique
      du clavier (<literal>atkbd</literal>) et celui des
      p&eacute;riph&eacute;riques de pointage PS/2
      (<literal>psm</literal>).</para>

    <programlisting>device          atkbd      # AT keyboard</programlisting>

    <para>Le pilote de p&eacute;riph&eacute;rique <literal>atkbd</literal>,
      associ&eacute; au contr&ocirc;leur <literal>atkbdc</literal>, fournit
      un acc&egrave;s au clavier AT 84 touches ou au clavier AT &eacute;tendu qui
      est connect&eacute; au contr&ocirc;leur de clavier de la machine.</para>

    <programlisting>device          psm        # PS/2 mouse</programlisting>

    <para>Utilisez ce p&eacute;riph&eacute;rique si votre souris se
      branche sur le port PS/2.</para>

    <programlisting>device          vga        # VGA video card driver</programlisting>

    <para>Pilote de la carte graphique.</para>

    <programlisting># splash screen/screen saver
device          splash     # Splash screen and screen saver support</programlisting>

    <para>Ecran/banni&egrave;re de d&eacute;marrage.  Les
      &eacute;conomiseurs d'&eacute;cran ont &eacute;galement
      besoin de ce pseudo-p&eacute;riph&eacute;rique.  Utilisez
      la ligne <literal>pseudo-device splash</literal> avec
      &os;&nbsp;4.X.</para>

    <programlisting># syscons is the default console driver, resembling an SCO console
device          sc</programlisting>

    <para><literal>sc</literal> est le pilote par d&eacute;faut pour la
      console, qui ressemble &agrave; une console SCO.  Comme la plupart
      des programmes en mode plein-&eacute;cran acc&egrave;dent
      &agrave; la console par l'interm&eacute;diaire d'une base de
      donn&eacute;es
      de description des terminaux comme <filename>termcap</filename>,
      cela n'a gu&egrave;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&egrave;mes pour
      utiliser des programmes en mode plein-&eacute;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&eacute;trospectivement, compatible VT100/102.  Il fonctionne
      bien sur certains ordinateurs portables qui sont mat&eacute;riellement
      incompatibles avec le pilote <literal>sc</literal>.  Comme
      pr&eacute;c&eacute;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&eacute;rer
      utile quand vous vous connectez &agrave; un grand nombre de
      machines diff&eacute;rentes par le r&eacute;seau sur lesquelles
      les entr&eacute;es pour le p&eacute;riph&eacute;rique
      <literal>sc</literal> ne sont souvent pas d&eacute;finies dans
      leurs fichiers <filename>termcap</filename> ou
      <filename>terminfo</filename> &mdash; alors que le terminal
      <literal>vt100</literal> devrait &ecirc;tre disponible sur
      pratiquement toutes les plates-formes.</para>

    <programlisting># Power management support (see NOTES for more options)
device          apm</programlisting>

    <para>&ldquo;Advanced Power Management support&rdquo; - gestion
      avanc&eacute;e de l'&eacute;nergie.  Utile pour les ordinateurs
      portables, ceci est cependant d&eacute;sactiv&eacute; par
      d&eacute;faut dans le noyau <filename>GENERIC</filename> sous
      &os;&nbsp;5.X et versions suivantes

    <programlisting># Add suspend/resume support for the i8254.
device           pmtimer</programlisting>

    <para>Pilote du p&eacute;riph&eacute;rique de gestion du temps pour
      les &eacute;v&eacute;nements de la gestion de l'&eacute;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&eacute;sente les ports s&eacute;ries, appel&eacute;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&eacute;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&eacute;der
	avec FreeBSD.  Si vous avez une carte s&eacute;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&eacute;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&eacute;ries bon march&eacute; de d&eacute;codent pas
	compl&egrave;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&eacute;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&eacute;faut pour
	les ports <devicename>COM3</devicename> et <devicename>COM4</devicename> ne peuvent &ecirc;tre
	utilis&eacute;es.</para>
    </note>

    <programlisting># Parallel port
device          ppc</programlisting>

    <para>C'est l'interface parall&egrave;le du bus ISA.</para>

    <programlisting>device          ppbus      # Parallel port bus (required)</programlisting>

    <para>Fournit le support pour le bus du port parall&egrave;le.</para>

    <programlisting>device          lpt        # Printer</programlisting>

    <para>Support pour les imprimantes parall&egrave;les.</para>

    <note>
      <para>Les trois lignes pr&eacute;c&eacute;dentes sont
	n&eacute;cessaires pour permettre le support des imprimantes
	parall&egrave;les.</para>
    </note>

    <programlisting>device          plip       # TCP/IP over parallel</programlisting>

    <para>C'est le pilote pour l'interface r&eacute;seau sur port
      parall&egrave;le.</para>

    <programlisting>device          ppi        # Parallel port interface device</programlisting>

    <para>Port d'E/S d'usage g&eacute;n&eacute;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
      &eacute;galement requises.  Les meilleures performances sont
      obtenues avec les ports configur&eacute;s dans le mode EPP 1.9.</para>

    <programlisting>#device         puc</programlisting>

    <para>D&eacute;commentez ce p&eacute;riph&eacute;rique si vous
      disposez d'une carte PCI s&eacute;rie ou parall&egrave;le
      <quote>idiote</quote> qui est support&eacute;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&eacute;seaux PCI.  Mettez en
      commentaires ou supprimer les lignes de celles qui ne sont pas
      pr&eacute;sentes sur votre syst&egrave;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&eacute;cessaire pour certaines
      cartes Ethernet PCI 10/100, &agrave; savoir celles qui utilisent des
      interfaces compatibles MII ou impl&eacute;mentent une gestion de
      l'interface op&eacute;rant comme le bus MII.  Ajouter
      <literal>device miibus</literal> &agrave; la configuration du noyau
      int&egrave;gre le support pour l'API miibus g&eacute;n&eacute;rique et
      tous les pilotes d'interfaces PHY, incluant un pilote
      g&eacute;n&eacute;rique pour les interfaces PHYs qui ne sont pas
      sp&eacute;cifiquements g&eacute;r&eacute;es par un
      pilote individuel.</para>

    <programlisting>device          dc         # DEC/Intel 21143 and various workalikes
device          miibus     # MII bus support
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          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 & SK-982x gigabit Ethernet
device          ste        # Sundance ST201 (D-Link DFE-550TX)
device          ti         # Alteon Networks Tigon I/II gigabit Ethernet
device          tl         # Texas Instruments ThunderLAN
device          tx         # SMC EtherPower II (83c170 <quote>EPIC</quote>)
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&ocirc;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&eacute;es et par quel pilote.</para>

    <programlisting># Wireless NIC cards
device          wlan       # 802.11 support
device          an         # Aironet 4500/4800 802.11 wireless NICs.
device          awi        # BayStack 660 and others
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&eacute;seau sans fil.</para>

    <programlisting>device   mem           # Memory and kernel memory devices</programlisting>

    <para>Les p&eacute;riph&eacute;riques m&eacute;moire
      syst&egrave;me.</para>

    <programlisting>device   io            # I/O device</programlisting>

    <para>Cette option autorise &agrave; un processus d'obtenir les
      permissions d'E/S.  Ceci est utile pour l'&eacute;criture de
      programmes en mode utilisateur pouvant gerer directement le
      mat&eacute;riel.  Ceci est n&eacute;cessaire pour
      ex&eacute;cuter le syst&egrave;me X Window.</para>

    <programlisting>device   random        # Entropy device</programlisting>

    <para>G&eacute;n&eacute;rateur de nombres al&eacute;atoire
      s&eacute;curis&eacute; 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&egrave;gre le code g&eacute;n&eacute;rique
      pour le protocole Ethernet.  Sous &os;&nbsp;4.X, utilisez
      la ligne <literal>pseudo-device ether</literal>.</para>

    <programlisting>device   sl            # Kernel SLIP</programlisting>

    <para><literal>sl</literal> est le support pour le protocole SLIP.
      Il a &eacute;t&eacute; presque enti&egrave;rement supplant&eacute;
      par le protocole PPP, plus facile &agrave; mettre en oeuvre, mieux
      adapt&eacute; aux connexions par modem, et aussi plus puissant.
      Avec &os;&nbsp;4.X,
      utilisez la ligne <literal>pseudo-device sl</literal>.</para>

    <programlisting>device   ppp           # Kernel PPP</programlisting>

    <para>C'est le support int&eacute;gr&eacute; 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&eacute;s comme la connexion &agrave; la demande.
      Avec &os;&nbsp;4.X ,
      utilisez la ligne <literal>pseudo-device ppp</literal>.</para>

    <programlisting>device   tun           # Packet tunnel.</programlisting>

    <para>Ceci est utilis&eacute; par le programme PPP en mode
      utilisateur.
      Voyez la section <link
      linkend="userppp">PPP</link> de ce manuel pour plus
      d'informations.  Avec &os;&nbsp;4.X, utilisez la ligne
      <literal>pseudo-device tun</literal>.</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&eacute; par les sessions
      <command>telnet</command> et <command>rlogin</command>
      entrantes, par <application>xterm</application>, et d'autres
      applications comme <application>Emacs</application>.</para>

    <note><para>Sous
      &os;&nbsp;4.X, vous devez utiliser la ligne
      <literal>pseudo-device pty
      <replaceable>nombre</replaceable></literal>.
      Le <replaceable>nombre</replaceable> apr&egrave;s
      <literal>pty</literal> indique le nombre de
      <literal>pty</literal>s &agrave; cr&eacute;er.
      Si vous avez besoin de plus que les 16
      fen&ecirc;tres <application>xterm</application> et/ou connexions
      &agrave; distance simultan&eacute;es par d&eacute;faut, veillez
      &agrave; augmenter ce nombre en cons&eacute;quence, jusqu'&agrave;
      un maximum de 256.</para>
    </note>

    <programlisting>device   md            # Memory <quote>disks</quote></programlisting>

    <para>Pseudo-p&eacute;riph&eacute;rique de disque
      m&eacute;moire.  Avec &os;&nbsp;4.X, utilisez la ligne
      <literal>pseudo-device md</literal>.</para>

    <programlisting>device   gif     # IPv6 and IPv4 tunneling</programlisting>

    <para>Ceci impl&eacute;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.  Avec FreeBSD&nbsp;4.4 le
      p&eacute;riph&eacute;rique <literal>gif</literal>
      &ldquo;s'auto-duplique&rdquo; et vous devriez utiliser la
      ligne <literal>pseudo-device gif</literal>).  Les versions
      ant&eacute;rieures de &os;&nbsp;4.X n&eacute;cessitent un
      nombre, par exemple <literal>pseudo-device gif
      4</literal>.</para>

    <programlisting>device   faith   # IPv6-to-IPv4 relaying (translation)</programlisting>

    <para>Ce pseudo-p&eacute;riph&eacute;rique capture les paquets qui lui sont
      envoy&eacute;s et les d&eacute;tourne vers le &ldquo;daemon&rdquo; de
      translation IPv4/IPv6.  Avec &os;&nbsp;4.X, utilisez la ligne
      <literal>pseudo-device faith 1</literal>.</para>

    <programlisting># The `bpf' device enables the Berkeley Packet Filter.
# Be aware of the administrative consequences of enabling this!
device   bpf           # Berkeley packet filter</programlisting>

    <para>C'est le filtre de paquets de Berkeley.  Ce
      pseudo-p&eacute;riph&eacute;rique permet de placer les interfaces
      en mode &ldquo;promiscuous&rdquo; (indiscret), pour capturer
      chaque paquet sur r&eacute;seau de diffusion (e.g., un r&eacute;seau
      Ethernet).  Ces paquets peuvent &ecirc;tre enregistr&eacute;s sur
      le disque et/ou examin&eacute;s avec le programme
      &man.tcpdump.1;.  Avec &os;&nbsp;4.X, utilisez la ligne
      <literal>pseudo-device bpf</literal>.</para>

    <note>
      <para>Le p&eacute;riph&eacute;rique &man.bpf.4;
	est &eacute;galement utilis&eacute; par &man.dhclient.8; pour
	obtenir une adresse IP du routeur par d&eacute;faut (passerelle) et
	ainsi de suite.  Si vous utilisez DHCP, conservez cette ligne
	non comment&eacute;e.</para>
    </note>

    <programlisting># USB support
device          uhci          # UHCI PCI-&gt;USB interface
device          ohci          # OHCI PCI-&gt;USB interface
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          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          cue           # CATC USB Ethernet
device          kue           # Kawasaki LSI USB Ethernet
device          rue           # RealTek RTL8150 USB Ethernet</programlisting>

    <para>Support pour divers p&eacute;riph&eacute;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&eacute;riph&eacute;riques
      Firewire.</para>

    <para>Pour plus d'informations et pour avoir la liste de
      p&eacute;riph&eacute;riques suppl&eacute;mentaires support&eacute;s par
      FreeBSD, voyez le fichier
      <filename>/usr/src/sys/<replaceable>i386</replaceable>/conf/NOTES</filename>.</para>

    <sect2>
      <title>Configurations m&eacute;moire importantes
	(<acronym>PAE</acronym>)</title>
      <indexterm>
	<primary>
	  Extensions d'adressage physique&mdash;&ldquo;Physical
	  Address Extensions&rdquo; (<acronym>PAE</acronym>)
	</primary>
	<secondary>
	  Configurations m&eacute;moire importantes
	</secondary>
      </indexterm>

      <para>Les machines &agrave; configuration m&eacute;moire
	importante ont besoin de pouvoir acc&eacute;der &agrave; plus
	d'espace m&eacute;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&eacute; 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&eacute;ristique des microprocesseurs &intel; &pentium;
	Pro et suivants autorisant les configurations m&eacute;moires
	jusqu'&agrave; 64 gigaoctets.  &os; fournit un support pour
	cette carat&eacute;ristique via l'option de configuration du
	noyau <option>PAE</option>, disponible sous les version 4.X de
	&os; depuis la 4.9-RELEASE et sous &os;&nbsp;5.X depuis la
	5.1-RELEASE.  En raison des limitations de l'architecture
	m&eacute;moire &intel;, aucune distinction n'est faite entre
	la m&eacute;moire au-dessus et en-dessous de 4 gigaoctets.  La
	m&eacute;moire allou&eacute;e au-dessus de 4 gigaoctets est
	simplement ajout&eacute;e &agrave; l'ensemble de la
	m&eacute;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 &ecirc;tre not&eacute; que le support
	  <acronym>PAE</acronym> sous &os; n'a pas &eacute;t&eacute;
	  &eacute;norm&eacute;ment test&eacute;, et devrait &ecirc;tre
	  consid&eacute;r&eacute; comme b&ecirc;ta compar&eacute; aux
	  autres fonctionnalit&eacute;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&eacute;der &agrave;
	    plus de 4 gigaoctets d'espace m&eacute;moire.</para>
	</listitem>

	<listitem>
	  <para>Les modules <acronym>KLD</acronym> ne peuvent
	    &ecirc;tre charg&eacute;s dans un noyau avec
	    <acronym>PAE</acronym> activ&eacute;, en raison des
	    diff&eacute;rences entre la structure d'un module et du
	    noyau.</para>
	</listitem>

	<listitem>
	  <para>Les pilotes de p&eacute;riph&eacute;riques qui
	    n'utilisent pas l'interface &man.bus.dma.9;
	    seront &agrave; l'origine de corruption de donn&eacute;es
	    avec un noyau <acronym>PAE</acronym> et ne sont pas
	    recommand&eacute;s.  Pour cette raison, le fichier de
	    configuration du noyau avec support
	    <filename>PAE</filename> qui est fourni avec
	    &os;&nbsp;5.X exclut tous les pilotes connus
	    pour ne pas fonctionner avec un noyau avec support
	    <acronym>PAE</acronym>.</para>
	</listitem>

	<listitem>
	  <para>Certains param&egrave;tres modifiables du
	    syst&egrave;me d&eacute;terminent l'utilisation des
	    ressources m&eacute;moire par la quantit&eacute; de la
	    m&eacute;moire physique disponible.  De tels
	    param&egrave;tres peuvent &ecirc;tre inutilement
	    sur-allou&eacute;s en raison de la grande quantit&eacute; de
	    m&eacute;moire d'un syst&egrave;me <acronym>PAE</acronym>.
	    Un bon exemple est le &ldquo;sysctl&rdquo;
	    <option>kern.maxvnodes</option>, qui contr&ocirc;le le
	    nombre maximal de &ldquo;vnodes&rdquo; allou&eacute;s par le
	    noyau.  Il est recommand&eacute; d'ajuster ce dernier et les
	    autres param&egrave;tres du m&ecirc;me genre &agrave; des
	    valeurs raisonnables.</para>
	</listitem>

	<listitem>
	  <para>Il pourra &ecirc;tre n&eacute;cessaire d'augmenter l'espace
	    d'adressage virtuel du noyau (&ldquo;kernel virtual
	    address&rdquo;&mdash;<acronym>KVA</acronym>) ou de
	    r&eacute;duire le montant de la ressource sp&eacute;cifique
	    du noyau qui est fortement utilis&eacute;e (voir plus haut)
	    afin d'&eacute;viter l'&eacute;puisement de l'espace
	    <acronym>KVA</acronym>.  L'option du noyau
	    <option>KVA_PAGES</option> peut &ecirc;tre employ&eacute;e
	    pour augmenter l'espace <acronym>KVA</acronym>.</para>
	</listitem>
      </itemizedlist>

      <para>Pour des consid&eacute;rations de performance et de
	stabilit&eacute;, il est recommand&eacute; 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-nodes">
    <title>Cr&eacute;er les fichiers sp&eacute;ciaux de
      p&eacute;riph&eacute;riques</title>

    <indexterm><primary>fichiers sp&eacute;ciaux de
      p&eacute;riph&eacute;riques</primary></indexterm>
    <indexterm>
      <primary><command>MAKEDEV</command></primary>
    </indexterm>

    <para><emphasis>Si vous utilisez FreeBSD&nbsp;5.0 ou une version
      ult&eacute;rieure, vous pouvez sans risque passer cette
      section.  Ces versions utilisent &man.devfs.5; pour
      allouer les fichiers sp&eacute;ciaux de
      p&eacute;riph&eacute;rique de fa&ccedil;on transparente
      pour l'utilisateur.</emphasis></para>

    <para>A pratiquement chaque p&eacute;riph&eacute;rique
      correspond un &ldquo;noeud&rdquo; (ou fichier sp&eacute;cial de
      p&eacute;riph&eacute;rique) dans le r&eacute;pertoire
      <filename>/dev</filename>.
      Ces fichiers sp&eacute;ciaux ressemblent &agrave; des fichiers
      ordinaires, mais sont en fait des points d'entr&eacute;e particuliers
      dans le noyau que les programmes utilisent pour acc&eacute;der aux
      p&eacute;riph&eacute;riques.  La proc&eacute;dure
      <filename>/dev/MAKEDEV</filename>, qui est ex&eacute;cut&eacute;e
      &agrave; la premi&egrave;re installation du
      syst&egrave;me d'exploitation, cr&eacute;e la plupart des fichiers
      sp&eacute;ciaux de p&eacute;riph&eacute;riques support&eacute;s.
      Cependant, elle ne les cr&eacute;e pas <emphasis>tous</emphasis>,
      donc quand vous ajoutez le support pour un nouveau
      p&eacute;riph&eacute;rique, cela vaut la peine de
      v&eacute;rifier que les entr&eacute;es ad&eacute;quates
      sont dans ce r&eacute;pertoire , et sinon, ajoutez-les.
      Voici un exemple simple:</para>

    <para>Supposons que vous ajoutez au noyau le support du lecteur de
      CD-ROMs IDE.  La ligne pour l'ajouter est:</para>

    <programlisting>device acd0</programlisting>

    <para>Cela signifie que vous devrez chercher des entr&eacute;es
      commen&ccedil;ant par <filename>acd0</filename> dans le r&eacute;pertoire
      <filename>/dev</filename>, &eacute;ventuellement suivies par une lettre,
      comme <literal>c</literal>,, ou pr&eacute;c&eacute;d&eacute;es
      par la lettre <literal>r</literal>, qui d&eacute;signe un
      p&eacute;riph&eacute;rique en mode caract&egrave;re - &ldquo;raw&rdquo;.
      S'il s'av&egrave;re que ces fichiers n'existent pas, vous devez
      vous rendre dans le r&eacute;pertoire <filename>/dev</filename>
      et taper:</para>

    <indexterm>
      <primary><command>MAKEDEV</command></primary></indexterm>
    <screen>&prompt.root; <userinput>sh MAKEDEV acd0</userinput></screen>

    <para>Quand la proc&eacute;dure s'ach&egrave;ve, vous trouverez qu'il
      y a d&eacute;sormais des entr&eacute;es <filename>acd0c</filename>
      et <filename>racd0c</filename> dans <filename>/dev</filename>,
      ce qui confirme qu'elle a bien fonctionn&eacute;.</para>

    <para>Pour les cartes sons, la commande suivante cr&eacute;e les
      entr&eacute;es ad&eacute;quates:</para>

    <screen>&prompt.root; <userinput>sh MAKEDEV snd0</userinput></screen>

    <note>
      <para>Quand vous cr&eacute;ez des noeuds pour les
	p&eacute;riph&eacute;riques comme les cartes sons, si d'autres
	personnes ont acc&egrave;s &agrave; votre machine, il est peut
	&ecirc;tre
	souhaitable de prot&eacute;ger ces p&eacute;riph&eacute;riques
	d'un acc&egrave;s depuis l'ext&eacute;rieur en les ajoutant au
	fichier <filename>/etc/fbtab</filename>.  Voir la page de manuel
	&man.fbtab.5; pour plus d'informations.</para>
    </note>

    <para>Suivez cette simple proc&eacute;dure pour tous les autres
      p&eacute;riph&eacute;riques absents du noyau
      <filename>GENERIC</filename> pour lesquels les entr&eacute;es
      n'existent pas encore.</para>

    <note>
      <para>Tous les contr&ocirc;leurs SCSI utilisent le m&ecirc;me
	ensemble d'entr&eacute;es dans <filename>/dev</filename>, vous n'avez
	donc pas besoin de les cr&eacute;er.  Egalement, les cartes
	r&eacute;seaux et les pseudo-p&eacute;riph&eacute;riques SLIP/PPP
	n'ont pas d'entr&eacute;es dans <filename>/dev</filename>, vous
	n'avez donc pas &agrave; vous en pr&eacute;occuper.</para>
    </note>
  </sect1>

  <sect1 id="kernelconfig-trouble">
    <title>Si quelque chose se passe mal</title>

    <para>Il y a cinq types de probl&egrave;mes qui peuvent survenir lors de
      la compilation d'un noyau sur mesure.  Ce sont:</para>

    <variablelist>
      <varlistentry>
	<term>La commande <command>config</command> &eacute;choue:</term>

	<listitem>
	  <para>Si la commande &man.config.8; &eacute;choue quand
	    vous lui passez en param&egrave;tre la description de votre
	    noyau, vous avez probablement fait une simple erreur
	    quelque part.  Heureusement &man.config.8;
	    affichera le num&eacute;ro de la ligne qui lui a pos&eacute;
	    probl&egrave;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&eacute;rifiez que la ligne est
	    correctement &eacute;crite, en le comparant avec le noyau
	    <filename>GENERIC</filename> ou une autre
	    r&eacute;f&eacute;rence.</para>
	</listitem>
      </varlistentry>

      <varlistentry>
	<term>La commande <command>make</command> &eacute;choue:</term>

	<listitem>
	  <para>Si la commande <command>make</command> &eacute;choue,
	    cela signale habituellement une erreur dans la description
	    de votre noyau, mais qui n'est pas suffisamment s&eacute;rieuse pour que
	    la commande &man.config.8; la d&eacute;tecte.
	    A nouveau, v&eacute;rifiez votre fichier de configuration, et si
	    vous n'arrivez toujours pas &agrave; r&eacute;soudre le
	    probl&egrave;me, envoyez un courrier &eacute;lectronique &agrave; la
	    &a.questions; en joignant votre fichier de configuration
	    du noyau, le diagnostic devrait &ecirc;tre rapide.</para>
	</listitem>
      </varlistentry>

      <varlistentry>
	<term>L'installation du nouveau noyau &eacute;choue:</term>

	<listitem>
	  <para>Si le noyau se compile sans probl&egrave;me, mais ne peut
	    &ecirc;tre install&eacute; (la commande <command>make
	    install</command> ou <command>make installkernel</command>
	    &eacute;choue), la premi&egrave;re chose &agrave; v&eacute;rifier
	    est si votre syst&egrave;me fonctionne &agrave; un niveau de
	    s&eacute;curit&eacute; &eacute;gal &agrave; 1 ou
	    sup&eacute;rieur (voir &man.init.8;).  L'installation
	    du noyau tente de retirer le drapeau rendant votre
	    noyau actuel immuable et positionner ce drapeau sur le
	    nouveau noyau.  Comme le niveau de s&eacute;curit&eacute; 1
	    et sup&eacute;rieur emp&ecirc;che de modifier l'&eacute;tat
	    immuable d'un fichier du syst&egrave;me, l'installation du noyau
	    doit &ecirc;tre effectu&eacute;e au niveau de
	    s&eacute;curit&eacute; 0 ou inf&eacute;rieur.</para>

	  <para>Ce qui pr&eacute;c&egrave;de ne s'applique qu'&agrave;
	    &os;&nbsp;4.X et les versions pr&eacute;c&eacute;dentes.
	    &os;&nbsp;5.X, tout comme les versions suivantes, ne
	    positionne pas le drapeau immuable sur le noyau et un
	    &eacute;chec d'installation du noyau indiquera
	    probablement un probl&egrave;me plus important.</para>
	</listitem>
      </varlistentry>

      <varlistentry>
	<term>Le noyau ne d&eacute;marre pas:<anchor
	  id="kernelconfig-noboot"></term>

	<listitem>
	  <para>Si votre nouveau noyau ne d&eacute;marre pas, ou ne
	    reconna&icirc;t pas vos p&eacute;riph&eacute;riques,
	    ne paniquez pas!  Heureusement, FreeBSD dispose d'un
	    excellent m&eacute;canisme pour r&eacute;cup&eacute;rer si le
	    noyau ne fonctionne pas.  S&eacute;lectionnez simplement le noyau,
	    &agrave; partir duquel vous d&eacute;sirez d&eacute;marrer,
	    &agrave; l'invite du chargeur de FreeBSD.  Vous pouvez y
	    acc&eacute;der quand le syst&egrave;me d&eacute;compte &agrave;
	    partir de 10 au menu de d&eacute;marrage.  Au lieu de d'appuyez sur
	    <keycap>Entr&eacute;e</keycap>, appuyez sur une autre touche,
	    puis tapez <command>unload</command> et ensuite
	    <command>boot /boot/<replaceable>kernel.old</replaceable>/kernel</command>,
	    ou le nom de fichier d'un autre noyau qui pourra d&eacute;marrer
	    proprement.  Quand on reconfigure un noyau, il est
	    toujours bon de conserver &agrave; port&eacute;e de la main un
	    noyau dont on sait qu'il fonctionne.</para>

	  <para>Apr&egrave;s avoir d&eacute;marr&eacute; avec un
	    noyau en &eacute;tat de marche, vous pouvez rev&eacute;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&eacute;marrage r&eacute;ussi.  En outre, la commande
	    &man.dmesg.8; affichera les messages du noyau pour le
	    dernier d&eacute;marrage.</para>

	  <note>
	    <para>Si vous avez des difficult&eacute;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&eacute;rent de sorte qu'il ne soit pas
	      &eacute;cras&eacute; &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&eacute; par le dernier noyau install&eacute; dont
	      il n'est pas certain qu'il soit op&eacute;rationnel.  Aussi,
	      d&egrave;s que possible, d&eacute;placez le noyau
	      op&eacute;rationnel vers le
	      bon emplacement <filename class="directory">/boot/kernel</filename> o&ugrave; des commandes
	      comme &man.ps.1; pourront ne pas fonctionner correctement.
	      Pour cela, renommez le r&eacute;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>

	    <para>Pour les versions de &os; ant&eacute;rieure &agrave;
	      5.X, la commande correcte pour
	      <quote>d&eacute;verrouiller</quote> un
	      noyau install&eacute; par <command>make</command> (pour mettre
	      d&eacute;finitivement en place un autre noyau) est:</para>

	    <screen>&prompt.root; <userinput>chflags noschg /kernel</userinput></screen>

	    <para>Si vous vous apercevez que vous ne pouvez pas
	      effectuer cette op&eacute;ration, c'est que vous &ecirc;tes
	      probablement sous un &ldquo;&man.securelevel.8;&rdquo;
	      sup&eacute;rieur &agrave; z&eacute;ro.  Editez la ligne
	      <literal>kern_securelevel</literal> dans
	      <filename>/etc/rc.conf</filename> et positionnez-la &agrave;
	      <literal>-1</literal>, puis red&eacute;marrez.  Vous pouvez
	      repositionner l'ancienne valeur si vous &ecirc;tes satisfait
	      de votre nouveau noyau.</para>

	    <para>Et, si vous voulez &ldquo;verrouiller&rdquo; votre
	      nouveau noyau, ou tout autre fichier, de sorte qu'il ne
	      puisse &ecirc;tre d&eacute;plac&eacute; ou modifi&eacute;,
	      utilisez:</para>

	    <screen>&prompt.root; <userinput>chflags schg /kernel</userinput></screen>
	  </note>
	</listitem>
      </varlistentry>

      <varlistentry>
	<term>Le noyau est op&eacute;rationnel, mais la commande
	  <command>ps</command> ne fonctionne plus du tout:</term>

	<listitem>
	  <para>Si vous avez install&eacute; une version du noyau
	    diff&eacute;rente de celle avec laquelle ont
	    &eacute;t&eacute; compil&eacute;s les utilitaires syst&egrave;me,
	    par exemple, un noyau
	    5.X sur un syst&egrave;me 4.X, de nombreuses commandes
	    d'affichage de l'&eacute;tat du syst&egrave;me comme
	    &man.ps.1; and &man.vmstat.8; ne fonctionneront plus.
	    Vous devrez <link linkend="makeworld">recompiler et
	    installer un syst&egrave;me</link> avec la m&ecirc;me
	    version de l'arborescence des sources de celle
	    utilis&eacute;e pour votre noyau.
	    C'est une des raisons pour lesquelles il n'est pas
	    judicieux d'utiliser des versions diff&eacute;rentes du noyau et
	    du reste du syst&egrave;me d'exploitation.</para>
	</listitem>
      </varlistentry>
    </variablelist>
  </sect1>
</chapter>

<!--
     Local Variables:
     mode: sgml
     sgml-declaration: "../chapter.decl"
     sgml-indent-data: t
     sgml-omittag: nil
     sgml-always-quote-attributes: t
     sgml-parent-document: ("../book.sgml" "part" "chapter")
     End:
-->

