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

     $FreeBSD$
     Original revision: n.nn
-->

    <chapter id="kernelconfig">
      <title>Configurer le noyau de FreeBSD</title>
      
      <para><emphasis>Contribution de &a.jehamby;.<!-- <br> -->6 Octobre
	  1995.</emphasis></para>
      &trans.a.haby;
      
      <para>Cette longue section du manuel d&eacute;crit l'essentiel de la
        configuration d'un noyau FreeBSD adapt&eacute; &agrave; vos besoins propres.
        Elle concerne tout autant les administrateurs syst&egrave;me d&eacute;butants
        que ceux qui ont une vaste exp&eacute;rience d'Unix.</para>
      
      
      <sect1>
	<title>Pourquoi compiler un noyau sur mesure?</title>
	
        <para>G&eacute;n&eacute;rer un noyau sur mesure est l'un des plus importants
          rites de passage que doit endurer tout administrateur syst&egrave;me
          Unix. Cette op&eacute;ration, qui prend du temps, apportera de nombreuses
          am&eacute;liorations &agrave; votre syst&egrave;me FreeBSD. A l'inverse du noyau
          <literal>GENERIC</literal>, qui doit supporter toutes les
          cartes SCSI et r&eacute;seau possibles, ainsi qu'une tonne de mat&eacute;riels
          rarement utilis&eacute;s, un noyau sur mesure n'inclut que le support
          de <emphasis>votre</emphasis> configuration mat&eacute;rielle. Cela a
          de nombreux avantages:</para>
	
	<para>
	  <itemizedlist>
	    
	    <listitem>
	      <para>Le syst&egrave;me d&eacute;marrera plus rapidement parce qu'il ne perdra
                pas de temps &agrave; rechercher des p&eacute;riph&eacute;riques que vous n'avez
                pas.</para>
	    </listitem>
	    
	    <listitem>
              <para>Un noyau personnalis&eacute; monopolise souvent moins de m&eacute;moire,
                ce qui est important parce que le noyau est le processus qui
                doit toujours r&eacute;sider en m&eacute;moire, ce qui fait que tout le
                code inutilis&eacute; s'approprie des pages m&eacute;moire que vos programmes
                pourraient utiliser. D'o&ugrave; l'importance critique de g&eacute;n&eacute;rer un
                noyau sur mesure sur un syst&egrave;me dont les ressources m&eacute;moire
                sont limit&eacute;es.</para>
	    </listitem>
	    
	    <listitem>
              <para>Enfin, il y a plusieurs options du noyau que vous pouvez
                ajuster &agrave; vos besoins, et des pilotes pour des p&eacute;riph&eacute;riques 
                comme les cartes son que vous pouvez inclure dans votre
                noyau, mais qui <emphasis>ne sont pas</emphasis> dans le
                noyau g&eacute;n&eacute;rique.</para>
	    </listitem>
	    
	  </itemizedlist>
	</para>
	
      </sect1>
      
      <sect1
	id="kernelconfig-building">
	<title>Compiler et installer un noyau sur mesure</title>
	
        <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>, auquel on acc&egrave;de aussi 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 importants, en ce qui nous
          concerne, sont <filename>i386/conf</filename>, o&ugrave; nous &eacute;diterons
          notre fichier de configuration personnalis&eacute;e, et 
          <filename>compile</filename>, qui est l'espace de travail o&ugrave; nous
          g&eacute;n&eacute;rerons notre noyau. 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; a son propre sous-r&eacute;pertoire. D'autre
          part, tout ce qui ce trouve dans le r&eacute;pertoire
          <filename>i386</filename> est propre au mat&eacute;riel PC, alors que tout
          le reste est commun &agrave; toutes les plates-formes sur lesquelles
          FreeBSD pourrait potentiellement &ecirc;tre port&eacute;.</para>
	
	<note>
	  <para>S'il <emphasis>n'y a pas</emphasis> de r&eacute;pertoire
	    <filename>/usr/src/sys</filename> sur votre syst&egrave;me, c'est que les
            sources du noyau n'ont pas &eacute;t&eacute; install&eacute;s. Suivez les instructions
            d'installation pour ajouter cette distribution &agrave; votre 
            syst&egrave;me.</para> 
	</note>
	
	<para>Allez ensuite dans le r&eacute;pertoire <filename>i386/conf</filename> 
          et copiez le fichier de configuration <filename>GENERIC</filename>
          dans un fichier qui aura le nom que vous voulez donner &agrave; votre 
	  nouveau noyau. Par exemple:
	  
	  <informalexample>
	    <screen>&prompt.root; <userinput>cd /usr/src/sys/i386/conf</userinput>
&prompt.root; <userinput>cp GENERIC MONNOYAU</userinput></screen>
	  </informalexample> Par tradition, c'est un nom en majuscules, et
          si vous maintenez plusieurs machines FreeBSD avec des configurations
          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 notre exemple.</para>
	
	<note>
	  <para>Tout cela doit &ecirc;tre fait sous le compte super-utilisateur sans
            quoi vous aurez des erreurs 
            &ldquo;<errortype>permission denied</errortype>&rdquo;.</para>
	</note>
	
	<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 est probablement <command>vi</command>, 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>.
          N'h&eacute;sitez pas
          &agrave; modifier les commentaires d'en-t&ecirc;te pour y d&eacute;crire votre
          configuration ou les modifications que vous avez apport&eacute;es par rapport
	  &agrave; <filename>GENERIC</filename>.</para>
	
        <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 ce que contient le
          fichier vous sera tr&egrave;s familier. Si vous venez d'un autre syst&egrave;me
          d'exploitation comme DOS, &agrave; l'inverse, le fichier de configuration
          vous para&icirc;tra peut-&ecirc;tre inintelligible, lisez alors lentement et
          attentivement la description qui en est faite dans la section
	  <link linkend="kernelconfig-config">Fichier de configuration</link>.</para>
	
	<note>
          <para>Si vous essayez de mettre &agrave; jour votre noyau &agrave; partir d'une
            ancienne version de FreeBSD, il vous faudra probablement une
            version r&eacute;cente de
	    <citerefentry><refentrytitle>config</refentrytitle><manvolnum>8</manvolnum></citerefentry> 
            de m&ecirc;me origine que les sources du nouveau noyau. Vous la trouverez 
            dans le r&eacute;pertoire <filename>/usr/src/usr.sbin</filename>. Il vous
            faudra donc t&eacute;l&eacute;charger aussi les sources de cet utilitaire.
            Recompilez et installez-le avant de faire autre chose.</para>
	</note>
	
	<para>Une fois que vous avez termin&eacute;, tapez la commande suivante pour
          compiler et installer votre noyau:

	  <informalexample>
	    <screen>&prompt.root; <userinput>/usr/sbin/config MONNOYAU</userinput>
&prompt.root; <userinput>cd ../../compile/MONNOYAU</userinput>
&prompt.root; <userinput>make depend</userinput>
&prompt.root; <userinput>make</userinput>
&prompt.root; <userinput>make install</userinput></screen>
	  </informalexample> Le nouveau noyau sera recopi&eacute; dans le r&eacute;pertoire
	  racine sous le nom <filename>/kernel</filename> et l'ancien renomm&eacute; 
	  en <filename>/kernel.old</filename>. Arr&ecirc;tez maintenant votre syst&egrave;me
	  et red&eacute;marrez-le pour utiliser votre nouveau noyau. Si
          quelque chose tourne mal, il y a quelques instructions de
	  <link linkend="kernelconfig-trouble">d&eacute;pannage</link>
          &agrave; la fin de ce document. Ayez soin de lire la section qui explique
          comment vous en sortir si votre nouveau noyau ne
	  <link linkend="kernelconfig-noboot">d&eacute;marre pas</link>.</para>
	
	<note>
	    <para>Si vous avez ajout&eacute; de nouveaux p&eacute;riph&eacute;riques (cartes son, 
            par exemple), vous devrez peut-&ecirc;tre ajouter des 
	    <link linkend="kernelconfig-nodes">fichiers sp&eacute;ciaux de p&eacute;riph&eacute;riques</link> 
            dans votre r&eacute;pertoire <filename>/dev</filename> avant de pouvoir les
	    utiliser.</para>
	</note>
	
      </sect1>
      
      <sect1
	id="kernelconfig-config">
	<title>Le fichier de configuration</title>
	
        <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 prennent
          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 appara&icirc;ssent 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">Il y a une liste exhaustive et
          des explications plus d&eacute;taill&eacute;es des lignes se rapportant aux 
          p&eacute;riph&eacute;riques dans le fichier de configuration
          <filename>LINT</filename>, qui se trouve dans le
	  m&ecirc;me r&eacute;pertoire que <filename>GENERIC</filename>. Si vous avez des
          doutes sur la signification ou la n&eacute;cessit&eacute; d'une ligne, consultez
          d'abord le fichier <filename>LINT</filename>.</para>
	
        <para>Le noyau est en cours de r&eacute;organisation pour une meilleure
          gestion des options. Traditionnellement, chaque option du fichier
          de configuration se traduisait par un indicateur <option>-D</option>
          dans la ligne <acronym>CFLAGS</acronym> du fichier 
          <filename>Makefile</filename> du noyau. D'o&ugrave; une pl&eacute;thore d'options,
          dont personne ne savait vraiment lesquelles &eacute;taient r&eacute;f&eacute;renc&eacute;es dans
          quels fichiers.</para>
	
	<para>Dans le nouveau mod&egrave;le, chaque <literal>#ifdef</literal>
          qui d&eacute;pend d'une option la d&eacute;duit d'un fichier de d&eacute;clarations
	  <filename>opt_<replaceable>foo</replaceable>.h</filename>
          cr&eacute;&eacute; par la commande <command>config</command> dans le r&eacute;pertoire 
          de compilation. La liste des options valides de 
	  <command>config</command> est d&eacute;finie par deux fichiers: les options
	  ind&eacute;pendantes de l'architecture dans
	  <filename>/sys/conf/options</filename>, et celles qui en d&eacute;pendent
	  dans
	  <filename>/sys/<replaceable>arch</replaceable>/conf/options.<replaceable>arch</replaceable></filename>,
          o&ugrave; <emphasis>arch</emphasis> vaut par exemple 
          <filename>i386</filename>.</para>
	
	
	<sect2>
	  <title>Mots-cl&eacute;s obligatoires</title>
	  
	  <para>Ces mots-cl&eacute;s sont requis pour tous les noyaux que vous
            g&eacute;n&eacute;rez.</para>
	  
	  
	    <variablelist>
	      <varlistentry><term>machine "i386"</term>
		<listitem>
		  <para>Le premier mot-cl&eacute; est <literal>machine</literal>, 
                    qui, &eacute;tant donn&eacute; que FreeBSD ne tourne que sur des 
                    processeurs Intel 386 ou compatibles, vaut i386.</para>
		  
		  <note>
		      <para>Tous les mots-cl&eacute;s compos&eacute;s d'une cha&icirc;ne de
                        caract&egrave;res comportant des chiffres doivent &ecirc;tre
                        mis entre guillemets, sans quoi le programme
		        <command>config</command> ne les comprend pas et
                        pense que vous faites r&eacute;f&eacute;rence &agrave; la valeur
		        num&eacute;rique, 386, par exemple.</para>
		  </note>
		</listitem>
	      </varlistentry>
	      
	      <varlistentry><term>cpu "<replaceable>mod&egrave;le_de_cpu</replaceable>"</term>
		
		<listitem>
		  <para>Le mot-cl&eacute; suivant est <literal>cpu</literal>,
                    qui d&eacute;finit le support de chaque CPU reconnue par FreeBSD.
		    Les valeurs possibles de 
                    <replaceable>mod&egrave;le_de_cpu</replaceable> sont:
		    <itemizedlist>
		      
		      <listitem>
			<para>I386_CPU</para>
		      </listitem>
		      
		      <listitem>
			<para>I486_CPU</para>
		      </listitem>
		      
		      <listitem>
			<para>I586_CPU</para>
		      </listitem>
		      
		      <listitem>
			<para>I686_CPU</para>
		      </listitem>
		      
		    </itemizedlist>Il peut y avoir plusieurs occurences de la
                    ligne <literal>cpu</literal> avec des valeurs diff&eacute;rentes
		    de <replaceable>mod&egrave;le_de_cpu</replaceable> comme c'est 
                    le cas dans le noyau <filename>GENERIC</filename>.
		    Dans le cas d'un noyau sur mesure, il vaut mieux n'indiquer
                    que l'unit&eacute; centrale que vous avez. Si, par exemple, c'est
                    un Pentium Intel, donnez la valeur
		    <literal>I586_CPU</literal> &agrave;
                    <replaceable>mod&egrave;le_de_cpu</replaceable>.</para>
		</listitem>
	      </varlistentry>
	      
	      <varlistentry><term>ident <replaceable>nom_du_noyau</replaceable></term>
		
		<listitem>
		  <para>Ensuite vient <literal>ident</literal>,
                    qui est l'identifiant de votre noyau. Vous devriez
		    le modifier pour remplacer <literal>GENERIC</literal> 
		    par le nom, quel qu'il soit, que vous donnez &agrave; votre
                    noyau; dans notre exemple,
		    <literal>MONNOYAU</literal>. La valeur que vous donnez &agrave;
		    <literal>ident</literal> s'affiche au d&eacute;marrage du
                    syst&egrave;me, il est donc parfois utile de lui donner un nom 
                    diff&eacute;rent du nom habituel (par exemple, si vous compilez
                    un noyau exp&eacute;rimental). Notez bien qu'il faut, comme pour
		    <literal>machine</literal> et <literal>cpu</literal>,
                    mettre le nom de votre noyau entre guillements, s'il
                    comporte des chiffres.</para>
		  
		  <para>Comme ce nom est transmis au compilateur C apr&egrave;s un
                    indicateur <option>-D</option>, n'utilisez pas de nom
                    du genre <literal>DEBUG</literal>, ou qui puisse &ecirc;tre 
                    compris comme un nom de machine ou de CPU, du style
		    <literal>vax</literal>.</para>
		</listitem>
	      </varlistentry>
	      
	      <varlistentry><term>maxusers <replaceable>nombre</replaceable></term>
		
		<listitem>
		  <para>Cette ligne d&eacute;finit la taille d'un certain nombre
                    de tables importantes du syst&egrave;me. Cette valeur est
                    suppos&eacute;e &ecirc;tre en gros &eacute;gale au nombre d'utilisateurs
                    simultan&eacute;s que vous vous attendez &agrave; avoir sur votre
                    syst&egrave;me. Cependant, dans des conditions normales,
                    vous devez fixer <literal>maxusers</literal> &agrave;
                    <literal>4</literal> au moins, en particulier si
		    vous utilisez le sous-syst&egrave;me graphique X Window
                    ou compilez des logiciels. En effet, la valeur la plus
                    importante que dimensionne <literal>maxusers</literal> 
		    est le nombre maximum de processus, qui est fix&eacute; &agrave; 
                    <literal>20 + 16 * maxusers</literal>, de sorte que si
                    vous positionnez <literal>maxusers</literal> &agrave; 
                    <literal>1</literal>, vous ne pouvez avoir que 36
                    processus simultan&eacute;s, dont les 18 environ que le syst&egrave;me
                    lance au d&eacute;marrage, et les 15 &agrave; peu pr&egrave;s qui s'initialisent
                    au d&eacute;marrage de X Window. M&ecirc;me une action aussi simple
                    que de lire une page de manuel activera 9 processus pour
                    la filtrer, la d&eacute;compresser et la visualiser.  Donner &agrave;
		    <literal>maxusers</literal> la valeur <literal>4</literal>
                    autorise jusqu'&agrave; 84 processus simultan&eacute;s, ce qui devrait
                    suffire dans la plupart des cas. Si, toutefois, vous avez
                    le message d'erreur tant redout&eacute; 
                    <errorname>proc table full</errorname> quand vous tentez
                    d'ex&eacute;cuter un nouveau programme, ou g&eacute;rez un serveur
                    avec de nombreux utilisateurs simultan&eacute;s
		    (tel le site FTP de Walnut Creek CDROM), vous pouvez
                    toujours augmenter cette valeur et recompiler le 
                    noyau.</para>
		  
		  <note>
		    <para><literal>maxusers</literal> 
		      <emphasis>ne limite pas</emphasis> le nombre 
                      d'utilisateurs qui pourront ouvrir une session sur
                      votre machine. Cette valeur dimensionne simplement
                      raisonnablement diff&eacute;rentes tables en fonction
                      du nombre maximum d'utilisateurs que vous aurez
                      vraisemblablement sur votre machine et du nombre
                      de processus que chacun d'entre eux ex&eacute;cutera. Un
                      mot-cl&eacute; qui <emphasis>limite</emphasis> le nombre
		      d'<emphasis>utilisateurs distants</emphasis> est
			<link linkend="kernelconfig-ptys">pseudo-device pty</link>.</para>
		  </note>
		</listitem>
	      </varlistentry>
	      
	      <varlistentry><term>config <replaceable>nom_du_noyau</replaceable> root on
		  <replaceable>p&eacute;riph&eacute;rique_racine</replaceable></term>
		
		<listitem>
		  <para>Cette ligne d&eacute;finit le nom et la localisation du
                    (fichier ex&eacute;cutable du) noyau. Traditionnellement, 
                    le noyau s'appelle
		    <filename>vmunix</filename>, mais FreeBSD l'appelle, &agrave; juste
		    titre, <filename>kernel</filename>. Vous devriez toujours
		    utiliser <literal>kernel</literal> pour
		    <replaceable>nom_du_noyau</replaceable>, parce qu'en changer
                    rendra nombre d'utilitaires syst&egrave;me inop&eacute;rants. La deuxi&egrave;me
                    partie de la ligne indique sur quel disque et partition
                    r&eacute;sident le noyau et le syst&egrave;me de fichiers racine, 
                    typiquement <literal>wd0</literal> sur un syst&egrave;me sans
		    disque SCSI, et <literal>sd0</literal> sur un syst&egrave;me
                    avec des disques SCSI.</para>
		</listitem>
	      </varlistentry>
	    </variablelist>
	  
	  
	</sect2>
	
	<sect2>
	  <title>Options g&eacute;n&eacute;rales</title>
	  
	  <para>Ces lignes d&eacute;finissent les syst&egrave;mes de fichiers support&eacute;s
            par le noyau ainsi que certaines autres options.</para>
	  
	  <para>
	    <variablelist>
	      <varlistentry><term>options MATH_EMULATE</term>
		<listitem>
		  <para>Cette ligne permet au noyau d'&eacute;muler un
                    co-processeur math&eacute;matique si votre syst&egrave;me
                    n'en a pas (386 ou 486SX). Si vous avez un Pentium, 
                    un 486DX, ou un 386 ou 486SX avec un co-processeur
		    math&eacute;matique 387 ou 487, vous pouvez mettre cette
		    ligne en commentaire.</para>
		  
		  <note>
		    <para>Les sous-programmes standards d'&eacute;mulation de
                      co-processeur math&eacute;matique de FreeBSD 
		      <emphasis>ne sont pas</emphasis> tr&egrave;s pr&eacute;cis. Si vous
                      n'avez pas de co-processeur math&eacute;matique, je vous
                      conseille de changer cette option en
		      <literal>GPL_MATH_EMULATE</literal> pour utiliser
                      les fonctions math&eacute;matiques GNU, qui ne sont pas
		      inclues par d&eacute;faut pour des questions de licence.</para>
		  </note>
		</listitem>
	      </varlistentry>
	      
	      <varlistentry><term>options "COMPAT_43"</term>
		
		<listitem>
		  <para>Compatibilit&eacute; avec 4.3BSD. Gardez cette option; 
                    certains programmes auront un comportement bizzare
                    si vous la commentez.</para>
		</listitem>
	      </varlistentry>
	      
	      <varlistentry><term>options BOUNCE_BUFFERS</term>
		
		<listitem>
		  <para>Les p&eacute;riph&eacute;riques ISA, et EISA fonctionnant en mode 
                    compatible ISA, ne peuvent effectuer d'op&eacute;rations DMA
		    ("Direct Memory Acces"&nbsp;-&nbsp;acc&egrave;s direct &agrave; la m&eacute;moire)
		    qu'en dessous de la limite de 16 m&eacute;ga-octets. Cette option
                    permet d'utiliser ces p&eacute;riph&eacute;riques avec des syst&egrave;mes ayant
                    plus de 16 m&eacute;ga-octets de m&eacute;moire.</para>
		</listitem>
	      </varlistentry>
	      
	      <varlistentry><term>options UCONSOLE</term>
		
		<listitem>
		  <para>Permet aux utilisateurs d'acc&eacute;der &agrave; la console syst&egrave;me, 
                    ce qui est utile avec X Window. Vous pouvez alors,
                    par exemple, ouvrir une console "xterm" avec 
		    <command>xterm -C</command>, qui affichera les
                    sorties de <command>write</command>, 
                    <command>talk</command> et les autres messages que vous
                    recevez, ainsi que tout message envoy&eacute; par le noyau
		    &agrave; la console.</para>
		</listitem>
	      </varlistentry>
	      
	      <varlistentry><term>options SYSVSHM</term>
		
		<listitem>
		  <para>Cette option impl&eacute;mente la m&eacute;moire partag&eacute;e de 
                    System V. L'usage le plus courant qui en est fait
                    est l'extension XSHM d'X Window, dont nombre de logiciels
                    gourmants en graphique (comme le logiciel de visualisation
		    de films XAnim ou DOOM pour Linux) tireront automatiquement
		    parti pour fonctionner plus vite. Si vous utilisez X
		    Window, vous utiliserez absolument cette option.</para>
		</listitem>
	      </varlistentry>
	      
	      <varlistentry><term>options SYSVSEM</term>
		
		<listitem>
		  <para>Cette option impl&eacute;mente les s&eacute;maphores de System V.
                    Ils sont d'un usage moins courant, mais cela n'augmente
                    que de quelques centaines d'octets la taille du 
                    noyau.</para>
		</listitem>
	      </varlistentry>
	      
	      <varlistentry><term>options SYSVMSG</term>
		
		<listitem>
		  <para>Cette option impl&eacute;mente les messages de System V.
                    De m&ecirc;me, cela n'augmente que de quelques 
                    centaines d'octets la taille du noyau.</para>
		  
		  <note>
		    <para>La commande <citerefentry><refentrytitle>ipcs</refentrytitle><manvolnum>1</manvolnum></citerefentry> 
                      vous donnera la liste des processus qui utilisent chacun
                      de ces m&eacute;canismes de System V.</para>
		  </note>
		</listitem>
	      </varlistentry>
	    </variablelist>
	  </para>
	  
	</sect2>
	
	<sect2>
	  <title>Syst&egrave;mes de fichiers</title>

          <para>Ces options incluent le support des diff&eacute;rents syst&egrave;mes
            de fichiers. Vous devez au moins donner celle qui correspond
            au p&eacute;riph&eacute;rique &agrave; partir duquel vous d&eacute;marrez votre syst&egrave;me;
	    habituellement, ce sera <acronym>FFS</acronym> si vous chargez
            le syst&egrave;me depuis un disque dur, ou <acronym>NFS</acronym>, pour
            une station sans disque r&eacute;cup&eacute;rant son syst&egrave;me via un r&eacute;seau
	    Ethernet. Vous pouvez aussi indiquer les autres syst&egrave;mes de
            fichiers que vous utilisez couramment, mais n'h&eacute;sitez pas &agrave;
            commenter ceux qui vous sont d'un usage moins fr&eacute;quent (peut-&ecirc;tre
            le syst&egrave;me de fichiers MS-DOS?); ils seront charg&eacute;s dynamiquement
            depuis le r&eacute;pertoire <filename>lkm</filename> (Loadable Kernel
            Module&nbsp;-&nbsp;modules du noyau &agrave; chargement dynamique) au premier montage
            d'une partition de ce type.</para>
	  
	  
	    <variablelist>
	      <varlistentry><term>options FFS</term>
		<listitem>
		  <para>Le syst&egrave;me de fichiers de base sur disque dur; gardez
                    cette option si vous chargez le syst&egrave;me depuis le disque
                    dur.</para>
		</listitem>
	      </varlistentry>
	      
	      <varlistentry><term>options NFS</term>
		
		<listitem>
                  <para>Le syst&egrave;me de fichiers en r&eacute;seau. A moins que vous
                     n'envisagiez de monter des partitions depuis un serveur
                     de fichiers Unix via un r&eacute;seau Ethernet, vous pouvez
                     commenter cette option.</para>
		</listitem>
	      </varlistentry>
	      
	      <varlistentry><term>options MSDOSFS</term>
		
		<listitem>
		  <para>Le syst&egrave;me de fichiers MS-DOS. A moins que vous
                    n'envisagiez de monter une partition format&eacute;e DOS
                    sur un disque dur au d&eacute;marrage du syst&egrave;me, vous pouvez
                    commenter sans risque 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 <application>mtools</application> 
                    (au catalogue des portages) permet d'acc&eacute;der aux
                    disquettes DOS sans avoir besoin de les monter (et n'a
                    pas non plus besoin de MSDOSFS).</para>
		</listitem>
	      </varlistentry>
	      
	      <varlistentry><term>options "CD9660"</term>
		
		<listitem>
		  <para>Le syst&egrave;me de fichiers ISO 9660 pour les CD-ROMs.
                    Commentez-le si vous n'avez pas de lecteur de CD-ROMs ou ne 
                    montez qu'occasionnellement des CD-ROMs (Il sera charg&eacute; 
                    dynamiquement la premi&egrave;re fois que vous monterez un
                    CD-ROM). Les CD-ROMs audio n'ont pas besoin de ce syst&egrave;me
                    de fichiers.</para>
		</listitem>
	      </varlistentry>
	      
	      <varlistentry><term>options PROCFS</term>
		
		<listitem>
		  <para>Le syst&egrave;me de fichiers pour les processus. C'est un
                    pseudo-syst&egrave;me de fichiers mont&eacute; sur 
                    <filename>/proc</filename> que des outils comme
		    <citerefentry><refentrytitle>ps</refentrytitle><manvolnum>1</manvolnum></citerefentry> utilisent pour vous fournir plus d'informations
		    sur les processus qui s'ex&eacute;cutent.</para>
		</listitem>
	      </varlistentry>
	      
	      <varlistentry><term>options MFS</term>
		
		<listitem>
                  <para>Syst&egrave;me de fichiers en m&eacute;moire. C'est essentiellement
                    un disque RAM pour l'archivage rapide de fichiers
                    temporaires, utile si vous avez beaucoup d'espace de
                    pagination dont vous voulez tirer parti. Le r&eacute;pertoire 
		    <filename>/tmp</filename> est un bon candidat pour le
                    montage d'une partition MFS, car de nombreux programmes
                    y mettent leurs donn&eacute;es temporaires. Pour monter un disque
                    RAM MFS sur <filename>/tmp</filename>, ajoutez la ligne qui
                    suit au fichier <filename>/etc/fstab</filename> et 
                    red&eacute;marrez le syst&egrave;me ou tapez 
                    <command>mount /tmp</command>:
		    
		    <programlisting>
/dev/wd1s2b   /tmp mfs rw 0 0
		    </programlisting>
		  </para>
		  
		  <note>
		    <para>Remplacez <filename>/dev/wd1s2b</filename> par
		      le nom de votre partition de pagination, qui est d&eacute;finie
		      comme suit dans votre fichier
                      <filename>/etc/fstab</filename>:
		      
		      <programlisting>
/dev/wd1s2b none swap sw 0 0
		      </programlisting>
		    </para>
		  </note>
		  
		  <note>
		    <para>Le syst&egrave;me de fichiers <acronym>MFS</acronym> 
		      <emphasis>n'est pas</emphasis> chargeable dynamiquement,
		      <emphasis>vous devez</emphasis> donc l'inclure dans votre
                      noyau si vous voulez essayer de l'utiliser.</para>
		  </note>
		</listitem>
	      </varlistentry>
	      
	      <varlistentry><term>options "EXT2FS"</term>
		
		<listitem>
		  <para>Syst&egrave;me de fichiers natif de Linux. Avec le support 
                    d'&ldquo;ext2fs&rdquo;, vous pouvez lire 
                    et &eacute;crire sur des partitions
                    Linux. C'est utile si votre machine fonctionne 
                    alternativement sous FreeBSD et sous Linux et que vous
		    voulez partager des donn&eacute;es entre les deux syst&egrave;mes.</para>
		</listitem>
	      </varlistentry>
	      
	      <varlistentry><term>options QUOTA</term>
		
		<listitem>
		  <para>Active les quotas d'espace disque. Si votre syst&egrave;me
                    est accessible &agrave; plusieurs utilisateurs et que vous
                    voulez &eacute;viter qu'ils ne saturent la partition
		    <filename>/home</filename>, vous pouvez d&eacute;finir des
		    quotas d'espace disque pour chaque utilisateur. 
                    Reportez-vous au chapitre
		    <link linkend="quotas">Quotas d'espace disque</link>
                    pour plus d'informations.</para>
		</listitem>
	      </varlistentry>
	    </variablelist>
	  
	  
	</sect2>
	
	<sect2>
	  <title>Contr&ocirc;leurs et p&eacute;riph&eacute;riques standards</title>
	  
	  <para>Ces sections d&eacute;crivent les contr&ocirc;leurs de disques, lecteurs
            de bandes magn&eacute;tiques et lecteurs de CD-ROMs standards support&eacute;s
	    par FreeBSD. Les contr&ocirc;leurs
	    <link linkend="kernelconfig-scsi">SCSI</link> et les cartes <link
	      linkend="kernelconfig-network">r&eacute;seau</link> 
              sont d&eacute;crits
              dans des sections s&eacute;par&eacute;es.</para>
	  
	  
	    <variablelist>
	      <varlistentry><term>controller isa0</term>
		<listitem>
		  <para>Tous les PC support&eacute;s par FreeBSD ont un contr&ocirc;leur ISA.
                    Si vous avez un IBM PS/2 (Micro Channel Architecture), vous
		    ne pouvez pas utiliser FreeBSD pour l'instant.</para>
		</listitem>
	      </varlistentry>
	      
	      <varlistentry><term>controller pci0</term>
		
		<listitem>
		  <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>
		</listitem>
	      </varlistentry>
	      
	      <varlistentry><term>controller fdc0</term>
		
		<listitem>
		  <para>Contr&ocirc;leur de lecteur de 
                   disquettes: <literal>fd0</literal> 
		  correspond au lecteur de disquettes
                  <devicename>A:</devicename>, et
		  <literal>fd1</literal> au lecteur 
                  <devicename>B:</devicename>.
		  <literal>ft0</literal> est le lecteur de bandes QIC-80 reli&eacute; 
                  au contr&ocirc;leur du lecteur de disquettes. Commentez les lignes
                  correspondant aux p&eacute;riph&eacute;riques que vous n'avez pas.</para>
		  
		  <note>
		    <para>Avec le lecteur de bandes QIC-80, vous devez de plus
                      utiliser un logiciel de filtrage appel&eacute;
		      <citerefentry><refentrytitle>ft</refentrytitle><manvolnum>8</manvolnum></citerefentry>, 
                      reportez-vous &agrave; la page de manuel pour plus de
                      d&eacute;tails.</para>
		  </note>
		</listitem>
	      </varlistentry>
	      
	      <varlistentry><term>controller wdc0</term>
		
		<listitem>
		  <para>C'est le contr&ocirc;leur IDE primaire. <literal>wd0</literal>
                  et <literal>wd1</literal> sont respectivement, les disques 
                  ma&icirc;tre et esclave.
		    <literal>wdc1</literal> est le contr&ocirc;leur IDE secondaire
                    sur lequel vous pouvez avoir un troisi&egrave;me et un quatri&egrave;me
                    disque, ou un lecteur de CD-ROMs. Commentez les lignes qui
                    ne s'appliquent pas &agrave; votre configuration (par exemple, si
                    vous avez un disque SCSI, vous commenterez probablement 
                    toutes les six lignes).</para>
		</listitem>
	      </varlistentry>
	      
	      <varlistentry><term>device wcd0<anchor
		    id="kernelconfig-atapi"></term>
		
		<listitem>
		  <para>Cette option fournit le support du lecteur de CD-ROMs
                     IDE. Assurez-vous de conserver
		    <literal>wcd0</literal>, ainsi que
		    <literal>wcd1</literal> si vous avez plus d'un contr&ocirc;leur 
                    IDE et que votre CD-ROM est sur le second. Pour utiliser
                    cette option, vous devrez aussi inclure la ligne
		    <literal>options ATAPI</literal>.</para>
		</listitem>
	      </varlistentry>
	      
	      <varlistentry><term>device npx0 at isa? port "IO_NPX" irq 13
		  vector npxintr</term>
		
		<listitem>
		  <para><literal>npx0</literal> est, dans FreeBSD, l'interface
                    avec le co-processeur math&eacute;matique, qu'il soit mat&eacute;riel ou
		    &eacute;mul&eacute; par logiciel. Cette option
		    <emphasis>N'EST PAS</emphasis> facultative.</para>
		</listitem>
	      </varlistentry>
	      
	      <varlistentry><term>device wt0 at isa? port 0x300 bio irq 5 drq
		  1 vector wtintr</term>
		
		<listitem>
		  <para>Lecteurs de bandes Wangtek et Archive 
                  QIC-02/QIC-36.</para>
		</listitem>
	      </varlistentry>
	      
	      <varlistentry><term>Mod&egrave;les sp&eacute;ciaux de lecteurs de CD-ROMs</term>
		
		<listitem>
		  <para>Les pilotes suivants sont ceux des lecteurs de
                    CD-ROMs soit-disant <emphasis>propri&eacute;taires</emphasis>.
                    Ces lecteurs ont leur propre contr&ocirc;leur ou s'interfacent
                    parfois avec une carte son comme la carte SoundBlaster 16.
                    Ils ne sont <emphasis>ni</emphasis> IDE 
                    <emphasis>ni</emphasis> SCSI. La plupart des anciens
		    lecteurs de CD-ROMs simple et double vitesse utilisent ces
		    interfaces, alors que les lecteurs quadruple vitesse sont
                    g&eacute;n&eacute;ralement soit <link linkend="kernelconfig-atapi">IDE</link>,
		    soit <link linkend="kernelconfig-scsi">SCSI</link>.</para>
		  
		  <para>
		    <variablelist>
		      <varlistentry><term>device mcd0 at isa? port 0x300 bio
			  irq 10 vector mcdintr</term>
			<listitem>
			  <para>Mitsumi CD-ROM (LU002, LU005, FX001D).</para>
			</listitem>
		      </varlistentry>
		      
		      <varlistentry><term>device scd0 at isa? port 0x230
			  bio</term>
			
			<listitem>
			  <para>Sony CD-ROM (CDU31, CDU33A).</para>
			</listitem>
		      </varlistentry>
		      
		      <varlistentry><term>controller matcd0 at isa? port ?
			  bio</term>
			
			<listitem>
			  <para>Matsushita/Panasonic CD-ROM (distribu&eacute; par 
                          Creative Labs pour la carte SoundBlaster).</para>
			</listitem>
		      </varlistentry>
		    </variablelist>
		  </para>
		</listitem>
	      </varlistentry>
	    </variablelist>
	  
	  
	</sect2>
	
	<sect2
	  id="kernelconfig-scsi">
	  <title>P&eacute;riph&eacute;riques SCSI</title>
	  
	  <para>Cette section d&eacute;crit les diff&eacute;rents contr&ocirc;leurs et 
            p&eacute;riph&eacute;riques SCSI support&eacute;s par FreeBSD.</para>
	  
	  
	    <variablelist>
	      <varlistentry><term>Contr&ocirc;leurs SCSI</term>
		<listitem>
		  <para>La dizaine de lignes qui suit correspond au support de
                    diff&eacute;rents type de contr&ocirc;leurs SCSI. Commentez-les toutes
                    sauf celle(s) qui correspond(ent) &agrave; celui/ceux que vous
		    avez:</para>
		  
		  <para>
		    <variablelist>
		      <varlistentry><term>controller bt0 at isa? port
			  "IO_BT0" bio irq ? vector btintr</term>
			<listitem>
			  <para>La plupart des contr&ocirc;leurs Buslogic.</para>
			</listitem>
		      </varlistentry>
		      
		      <varlistentry><term>controller uha0 at isa? port
			  "IO_UHA0" bio irq ? drq 5 vector uhaintr</term>
			
			<listitem>
			  <para>UltraStor 14F et 34F.</para>
			</listitem>
		      </varlistentry>
		      
		      <varlistentry><term>controller ahc0</term>
			
			<listitem>
			  <para>Adaptec 274x/284x/294x.</para>
			</listitem>
		      </varlistentry>
		      
		      <varlistentry><term>controller ahb0    at isa? bio irq ?
			  vector ahbintr</term>
			
			<listitem>
			  <para>Adaptec 174x.</para>
			</listitem>
		      </varlistentry>
		      
		      <varlistentry><term>controller aha0    at isa? port
			  "IO_AHA0" bio irq ? drq 5 vector ahaintr</term>
			
			<listitem>
			  <para>Adaptec 154x.</para>
			</listitem>
		      </varlistentry>
		      
		      <varlistentry><term>controller aic0    at isa? port
			  0x340 bio irq 11 vector aicintr</term>
			
			<listitem>
			  <para>Adaptec 152x et les cartes sons utilisant 
                          l'Adaptec AIC-6360 (lent!).</para>
			</listitem>
		      </varlistentry>
		      
		      <varlistentry><term>controller nca0    at isa? port
			  0x1f88 bio irq 10 vector ncaintr</term>
			
			<listitem>
			  <para>Carte ProAudioSpectrum avec NCR 5380 ou
			    Trantor T130.</para>
			</listitem>
		      </varlistentry>
		      
		      <varlistentry><term>controller sea0    at isa? bio irq 5
			  iomem 0xc8000 iosiz 0x2000 vector seaintr</term>
			
			<listitem>
			  <para>Contr&ocirc;leur Seagate ST01/02 8 bits
			    (lent!).</para>
			</listitem>
		      </varlistentry>
		      
		      <varlistentry><term>controller wds0    at isa? port
			  0x350 bio irq 15 drq 6 vector wdsintr</term>
			
			<listitem>
			  <para>Contr&ocirc;leur Western Digital WD700.</para>
			</listitem>
		      </varlistentry>
		      
		      <varlistentry><term>controller ncr0</term>
			
			<listitem>
			  <para>Contr&ocirc;leurs SCSI NCR 53C810, 53C815, 53C825,
                            53C860, 53C875 PCI.</para>
			</listitem>
		      </varlistentry>
		    </variablelist>
		  </para>
		</listitem>
	      </varlistentry>
	      
	      <varlistentry><term>options "SCSI_DELAY=15"</term>
		
		<listitem>
		  <para>Cette option dit &agrave; votre noyau d'attendre 15 secondes
                    avec 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 pouvez peut-&ecirc;tre diminuer
                    cette valeur, &eacute;ventuellement jusqu'&agrave; 5 secondes, pour
                    acc&eacute;lerer le d&eacute;marrage du syst&egrave;me. Bien s&ucirc;r, si vous le
                    faites et que FreeBSD a du mal &agrave; identifier vos 
                    p&eacute;riph&eacute;riques SCSI, vous devrez l'augmenter de 
                    nouveau.</para>
		</listitem>
	      </varlistentry>
	      
	      <varlistentry><term>controller scbus0</term>
		
		<listitem>
		  <para>Si vous avez des contr&ocirc;leurs SCSI, cette ligne vous
                    en fournit le support g&eacute;n&eacute;rique. Si vous n'en avez pas,
                    commentez-la, ainsi que les trois lignes qui 
                    suivent.</para>
		</listitem>
	      </varlistentry>
	      
	      <varlistentry><term>device sd0</term>
		
		<listitem>
		  <para>Support de disque dur.</para>
		</listitem>
	      </varlistentry>
	      
	      <varlistentry><term>device st0</term>
		
		<listitem>
		  <para>Support de lecteur de bandes SCSI.</para>
		</listitem>
	      </varlistentry>
	      
	      <varlistentry><term>device cd0</term>
		
		<listitem>
		  <para>Support de lecteur de CD-ROMs SCSI.</para>

		  <para>Notez bien que le chiffre <literal>0</literal>
		    dans les lignes pr&eacute;c&eacute;dentes n'est pas tout &agrave; fait exact:
                    tous ces p&eacute;riph&eacute;riques sont automatiquement configur&eacute;s
                    quand ils sont reconnus, quel que soit le nombre de
                    p&eacute;riph&eacute;riques sur la ou les cha&icirc;nes SCSI, et quels que
                    soient leurs IDs cibles.</para>
		  
		  <para>Si vous voulez &ldquo;attacher&rdquo; des IDs cibles
                    pr&eacute;cis &agrave; des p&eacute;riph&eacute;riques particuliers, reportez-vous
                    &agrave; la section appropri&eacute;e du fichier de configuration du
                    noyau <filename>LINT</filename>.</para>
		</listitem>
	      </varlistentry>
	    </variablelist>
	  
	  
	</sect2>
	
	<sect2>
	  <title>Console, souris sur un bus, et serveur X</title>
	  
	  <para>Vous devez s&eacute;lectionner un des deux types de console, et,
            si vous envisagez d'utiliser le gestionnaire graphique X Window
            avec la console vt220, activer l'option XSERVER. Optionnellement,
            vous pouvez aussi choisir le support de souris sur un bus ou 
            PS/2.</para>
	  
	    <variablelist>
	      <varlistentry><term>device sc0 at isa? port "IO_KBD" tty irq 1
		  vector scintr</term>
		<listitem>
		  <para><literal>sc0</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 le pilote
		    compatible VT220 <literal>vt0</literal>. Quand vous ouvrez
                    une session, positionnez la variable d'environnement
		    <envar>TERM</envar> &agrave; &ldquo;scoansi&rdquo; si vous avez 
                    des probl&egrave;mes pour utiliser des programmes en mode 
                    plein-&eacute;cran avec cette console.</para>
		</listitem>
	      </varlistentry>
	      
	      <varlistentry><term>device vt0 at isa? port "IO_KBD" tty irq 1
		  vector pcrint</term>
		
		<listitem>
		  <para>C'est le pilote de console compatible VT220, et,
                  retrospectivement, compatible avec les VT100/102. Il
                  fonctionne bien sur certains portables qui sont
                  mat&eacute;riellement incompatibles avec le pilote
		  <literal>sc0</literal>. Comme pr&eacute;c&eacute;demment, positionnez la
                  variable d'environnement <envar>TERM</envar> &agrave;
		  <literal>vt100</literal> ou <literal>vt220</literal>,
                  cette fois-ci, quand vous ouvrez une session. Ce pilote
                  peut aussi s'av&eacute;rer utile pour un certain nombre de 
                  machines sur un r&eacute;seau, pour lequelles le terminal
                  <devicename>sc0</devicename> est rarement d&eacute;fini dans les
                  fichiers <filename>termcap</filename> ou
     	          <filename>terminfo</filename> 
		  -- alors que le terminal <literal>vt100</literal> existe 
                  pratiquement sur toutes les plates-formes.</para>
		  
		    <variablelist>
		      <varlistentry><term>options "PCVT_FREEBSD=210"</term>
			<listitem>
			  <para>Obligatoire avec la console 
                          <literal>vt0</literal>.</para>
			</listitem>
		      </varlistentry>
		      
		      <varlistentry><term>options XSERVER</term>
			
			<listitem>
			  <para>S'applique seulement &agrave; la console 
                          <literal>vt0</literal>. Cette option inclut le
                          code n&eacute;cessaire &agrave; l'utilisation du serveur X Window
			  <application>XFree86</application> avec la console
			  <literal>vt0</literal>.</para>
			</listitem>
		      </varlistentry>
		    </variablelist>
		  
		</listitem>
	      </varlistentry>
	      
	      <varlistentry><term>device mse0 at isa? port 0x23c tty irq 5
		  vector ms</term>
		
		<listitem>
		  <para>Utilisez ce pilote si vous avez une carte Logitech 
                    ou ATI InPort pour la souris.</para>
		  
		  <note>
		    <para>Si vous avez une souris sur le port s&eacute;rie, ignorez
                      ces deux lignes, et, &agrave; la place, v&eacute;rifiez que le port
		      <link linkend="kernelconfig-serial">s&eacute;rie</link> 
                      correspondant est bien activ&eacute; 
                      (probablement COM1).</para>
		  </note>
		</listitem>
	      </varlistentry>
	      
	      <varlistentry><term>device psm0 at isa? port "IO_KBD"
		  conflicts tty irq 12 vector psmintr</term>
		
		<listitem>
		  <para>Utilisez ce pilote si votre souris se branche sur le 
                    port PS/2.</para>
		</listitem>
	      </varlistentry>
	    </variablelist>
	  
	  
	</sect2>
	
	<sect2>
	  <title>Ports s&eacute;ries et parall&egrave;les</title>
	  
	  <para>Presque tous les syst&egrave;mes ont ces ports. Si vous avez une
            imprimante sur l'un d'eux, la section
	    <link linkend="printing">Imprimer</link> 
            de ce manuel vous
            sera tr&egrave;s utile. Si vous utilisez un modem, la section
	    <link linkend="dialup">Connexions t&eacute;l&eacute;phoniques</link>
            vous fournit des informations d&eacute;taill&eacute;es sur la configuration du 
            port s&eacute;rie pour ces p&eacute;riph&eacute;riques.</para>
	  
	  
	    <variablelist>
	      <varlistentry><term>device sio0 at isa? port "IO_COM1" tty irq
		  4 vector siointr<anchor id="kernelconfig-serial"></term>
		<listitem>
		  <para><literal>sio0</literal> &agrave; <literal>sio3</literal> 
                    sont les quatre ports s&eacute;ries, appel&eacute;s COM1 &agrave; COM4 dans
		    le monde MS-DOS. Notez bien que si vous avez un modem
                    interne sur le port COM4 et un port s&eacute;rie COM2, 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, voyez
                    la page de manuel de
		    <citerefentry><refentrytitle>sio</refentrytitle><manvolnum>4</manvolnum></citerefentry>
                    pour plus d'informations sur les bonnes valeurs pour ces
                    lignes. Certaines cartes vid&eacute;o (notamment celles &agrave; base de
                    circuits S3) utilisent des adresses d'Entr&eacute;e/Sortie du type
		    <literal>0x*2e8</literal>, et comme de nombreuses cartes
                    s&eacute;ries g&egrave;rent mal l'espace d'adressage complet sur
		    16-bits, il y aura des conflits avec ces cartes, rendant
		    le port COM4 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), de sorte que les IRQ par 
                    d&eacute;faut pour les ports COM3 et COM4 ne sont pas 
                    utilisables.</para>
		</listitem>
	      </varlistentry>
	      
	      <varlistentry><term>device lpt0 at isa? port? tty irq 7 vector
		  lptintr</term>
		
		<listitem>
		  <para><literal>lpt0</literal> &agrave; <literal>lpt2</literal>
                    sont les trois ports imprimante que vous pourriez 
                    &eacute;ventuellement avoir. La plupart des gens n'en ont qu'un,
                    n'h&eacute;sitez donc pas &agrave; mettre en commentaires ceux que vous
                    n'avez pas.</para>
		</listitem>
	      </varlistentry>
	    </variablelist>
	  
	  
	</sect2>
	
	<sect2
	  id="kernelconfig-network">
	  <title>Le r&eacute;seau</title>
	  
	  <para>FreeBSD, comme Unix en g&eacute;n&eacute;ral, accorde
	    <emphasis>une</emphasis> grande importance au r&eacute;seau. Donc, m&ecirc;me
            si vous n'avez pas de carte Ethernet, faites bien attention aux
            options obligatoires et au support du r&eacute;seau via une ligne
	    t&eacute;l&eacute;phonique.</para>
	  
	  
	    <variablelist>
	      <varlistentry><term>options INET</term>
		<listitem>
		  <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 au moins le r&eacute;seau "en boucle" (i.e.
                    &eacute;tablissent des connexions r&eacute;seau avec le PC lui-m&ecirc;me),
                    cette option est donc quasiment obligatoire.</para> 
		</listitem>
	      </varlistentry>
	      
	      <varlistentry><term>Cartes Ethernet</term>
		
		<listitem>
		  <para>Les lignes qui suivent incluent le support de 
                    diff&eacute;rentes cartes Ethernet. Si vous n'avez pas de
                    carte r&eacute;seau, vous pouvez toutes les commenter. Sinon,
                    vous garderez le support pour la ou les cartes Ethernet
                    dont vous disposez:</para>
		  
		    <variablelist>
		      <varlistentry><term>device de0</term>
			<listitem>
			  <para>Adaptateurs Ethernet &agrave; base de circuits
                          Digital Equipment DC21040, DC21041 ou DC21140.</para>
			</listitem>
		      </varlistentry>
		      
		      <varlistentry><term>device fxp0</term>
			
			<listitem>
			  <para>Intel EtherExpress Pro/100B.</para>
			</listitem>
		      </varlistentry>
		      
		      <varlistentry><term>device vx0</term>
			
			<listitem>
			  <para>3Com 3C590 et 3C595 (bogu&eacute;).</para>
			</listitem>
		      </varlistentry>
		      
		      <varlistentry><term>device cx0 at isa? port 0x240 net
			  irq 15 drq 7 vector cxintr</term>
			
			<listitem>
			  <para>Cronyx/Sigma multiport sync/async (avec
                            trames Cisco ou PPP).</para>
			</listitem>
		      </varlistentry>
		      
		      <varlistentry><term>device ed0 at isa? port 0x280 net
			  irq 5 iomem 0xd8000 vector edintr</term>
			
			<listitem>
			  <para>Western Digital et SMC 80xx et 8216; Novell
			    NE1000 and NE2000; 3Com 3C503; HP PC Lan Plus
			    (HP27247B et HP27252A).</para>
			</listitem>
		      </varlistentry>
		      
		      <varlistentry><term>device el0 at isa? port 0x300 net
			  irq 9 vector elintr</term>
			
			<listitem>
			  <para>3Com 3C501 (lent!).</para>
			</listitem>
		      </varlistentry>
		      
		      <varlistentry><term>device eg0 at isa? port 0x310 net
			  irq 5 vector egintr</term>
			
			<listitem>
			  <para>3Com 3C505.</para>
			</listitem>
		      </varlistentry>
		      
		      <varlistentry><term>device ep0 at isa? port 0x300 net
			  irq 10 vector epintr</term>
			
			<listitem>
			  <para>3Com 3C509 (bogu&eacute;).</para>
			</listitem>
		      </varlistentry>
		      
		      <varlistentry><term>device fe0 at isa? port 0x240 net
			  irq ? vector feintr</term>
			
			<listitem>
			  <para>Fujitsu MB86960A/MB86965A Ethernet.</para>
			</listitem>
		      </varlistentry>
		      
		      <varlistentry><term>device fea0 at isa? net irq ? vector
			  feaintr</term>
			
			<listitem>
			  <para>Adaptateur DEC DEFEA EISA FDDI.</para>
			</listitem>
		      </varlistentry>
		      
		      <varlistentry><term>device ie0 at isa? port 0x360 net
			  irq 7 iomem 0xd0000 vector ieintr</term>
			
			<listitem>
			  <para>AT&amp;T StarLAN 10 et EN100; 3Com 3C507;
			    NI5210 quelconque.</para>
			</listitem>
		      </varlistentry>
		      
		      <varlistentry><term>device ix0 at isa? port 0x300 net
			  irq 10 iomem 0xd0000 iosiz 32768 vector
			  ixintr</term>
			
			<listitem>
			  <para>Intel EtherExpress 16.</para>
			</listitem>
		      </varlistentry>
		      
		      <varlistentry><term>device le0 at isa? port 0x300 net
			  irq 5 iomem 0xd0000 vector le_intr</term>
			
			<listitem>
			  <para>Digital Equipment EtherWorks 2 et EtherWorks
			    3 (DEPCA, DE100, DE101, DE200, DE201, DE202,
			    DE203, DE204, DE205, DE422).</para>
			</listitem>
		      </varlistentry>
		      
		      <varlistentry><term>device lnc0 at isa? port 0x300 net
			  irq 10 drq 0 vector lncintr</term>
			
			<listitem>
			  <para>Cartes Lance/PCnet (Isolan, Novell NE2100,
			    NE32-VL).</para>
			</listitem>
		      </varlistentry>
		      
		      <varlistentry><term>device ze0 at isa? port 0x300 net
			  irq 5 iomem 0xd8000 vector zeintr</term>
			
			<listitem>
			  <para>Contr&ocirc;leur Ethernet IBM/National Semiconductor
                            PCMCIA.</para>
			</listitem>
		      </varlistentry>
		      
		      <varlistentry><term>device zp0 at isa? port 0x300 net
			  irq 10 iomem 0xd8000 vector zpintr</term>
			
			<listitem>
			  <para>3Com PCMCIA Etherlink III.</para>
			</listitem>
		      </varlistentry>
		    </variablelist>
		  
		  
		  <note>
		    <para>Avec certaines cartes (notamment la NE2000) vous
		      devrez d&eacute;finir le port et/ou l'IRQ, car ces cartes
		      n'ont pas d'adresse &ldquo;standard&rdquo;.</para>
		  </note>
		</listitem>
	      </varlistentry>
	      
	      <varlistentry><term>pseudo-device loop</term>
		
		<listitem>
		  <para><literal>loop</literal> est l'interface "en boucle"
		    g&eacute;n&eacute;rique de TCP/IP. Si vous employez telnet ou FTP sur
		    <hostid>localhost</hostid> 
                    (a.k.a. <hostid role="ipaddr">127.0.0.1</hostid>) 
                    la r&eacute;ponse vous arrivera via ce
		    pseudo-p&eacute;riph&eacute;rique. Obligatoire.</para>
		</listitem>
	      </varlistentry>
	      
	      <varlistentry><term>pseudo-device ether</term>
		
		<listitem>
		  <para><literal>ether</literal> ne sert que si vous avez une
		    carte Ethernet et inclut le code g&eacute;n&eacute;rique pour le
                    protocole Ethernet.</para>
		</listitem>
	      </varlistentry>
	      
	      <varlistentry><term>pseudo-device sl
		  <replaceable>nombre</replaceable></term>
		
		<listitem>
		  <para><literal>sl</literal> est le support de SLIP 
                    (Serial Line Internet Protocol&nbsp;-&nbsp;protocole Internet sur
                    ligne s&eacute;rie). Il a pratiquement disparu au profit de PPP,
                    plus facile &agrave; mettre en oeuvre, mieux adapt&eacute; aux connexions
                    par modem, et aussi plus puissant. La valeur num&eacute;rique apr&egrave;s
                    <literal>sl</literal> d&eacute;finit le nombre maximum de 
                    connexions SLIP simultan&eacute;es.
                    Ce manuel contient d'autres informations sur la mise en 
                    place d'un <link linkend="slipc">client</link> ou d'un
                    <link linkend="slips">serveur</link> SLIP.</para>
		</listitem>
	      </varlistentry>
	      
	      <varlistentry><term>pseudo-device ppp
		  <replaceable>nombre</replaceable></term>
		
		<listitem>
		  <para><literal>ppp</literal> est le support de
		    PPP (Point-to-Point Protocol&nbsp;-&nbsp;protocole point &agrave; point)
                    int&eacute;gr&eacute; au noyau, pour les connexions t&eacute;l&eacute;phoniques &agrave;
                    l'Internet. Il y a aussi une version de PPP sous forme
                    de programme utilisateur qui utilise le pseudo-p&eacute;riph&eacute;rique
		    <devicename>tun</devicename> et offre plus de souplesse et 
                    des possibilit&eacute;s, comme la connexion &agrave; la demande. Si vous
                    voulez cependant utiliser ce pilote PPP, lisez la section
		    <link linkend="ppp">Configurer PPP int&eacute;gr&eacute; au noyau</link>
		    de ce manuel. Comme pour le pilote <literal>sl</literal>,
		    <replaceable>nombre</replaceable> est le nombre maximum
                    de connexions PPP simultan&eacute;es.</para>
		</listitem>
	      </varlistentry>
	      
	      <varlistentry><term>pseudo-device tun
		  <replaceable>nombre</replaceable></term>
		
		<listitem>
		  <para><literal>tun</literal> est utilis&eacute; par le programme PPP
                    en mode utilisateur. Ce programme est facile &agrave; param&eacute;trer
		    et tr&egrave;s rapide. Il offre aussi des possibilit&eacute;s 
                    particuli&egrave;res, comme la connexion automatique &agrave; la demande.
		    La valeur qui suit <literal>tun</literal> est le nombre
                    maximum de sessions PPP simultan&eacute;es. Voyez la section
		    <link linkend="userppp">Configurer PPP en mode utilisateur</link> 
                      de ce manuel pour plus 
                    d'informations.</para>
		</listitem>
	      </varlistentry>
	      
	      <varlistentry><term>pseudo-device bpfilter
		  <replaceable>nombre</replaceable></term>
		
		<listitem>
		  <para>Filtrage de paquets de Berkeley. Ce pseudo-p&eacute;riph&eacute;rique
		    permet de mettre les interfaces 
                    r&eacute;seau en mode &ldquo;indiscret&rdquo;,
                    pour capturer tous les paquets sur un r&eacute;seau de diffusion
                    (e.g. un r&eacute;seau Ethernet). Ces paquets peuvent &ecirc;tre 
                    enregistr&eacute;s sur disque et/ou examin&eacute;s avec le programme
		    <citerefentry><refentrytitle>tcpdump</refentrytitle><manvolnum>1</manvolnum></citerefentry>. Rappelez-vous que la mise en service de cette
                    possibilit&eacute; peut s&eacute;rieusement compromettre la s&eacute;curit&eacute;
                    globale de votre r&eacute;seau. Le 
                    <replaceable>nombre</replaceable>
                    apr&egrave;s <literal>bpfilter</literal> est le nombre
		    d'interfaces qui peuvent &ecirc;tre surveill&eacute;es simultan&eacute;ment.
		    Optionnel et non recommand&eacute;, sauf &agrave; ceux qui ont pleinement
                    conscience des dangers &eacute;ventuels. Toutes les cartes r&eacute;seau
		    n'acceptent pas cette possibilit&eacute;.</para>
		</listitem>
	      </varlistentry>
	    </variablelist>
	  
	  
	</sect2>
	
	<sect2>
	  <title>Cartes son</title>
	  
          <para>C'est la premi&egrave;re section qui comporte des lignes qui ne font
            pas partie du noyau GENERIC. Pour inclure le support d'une carte
            son, vous devrez copier les lignes ad&eacute;quates du noyau LINT (qui
            contient le support de <emphasis>tous</emphasis> les p&eacute;riph&eacute;riques)
            comme suit:</para>
	  
	  
	    <variablelist>
	      <varlistentry><term>controller snd0</term>
		<listitem>
		    <para>Code g&eacute;n&eacute;rique du pilote de carte son. Requis pour
                    toutes les cartes ci-dessous, sauf 
                    <literal>pca</literal>.</para>
		</listitem>
	      </varlistentry>
	      
	      <varlistentry><term>device pas0 at isa? port 0x388 irq 10 drq 6
		  vector pasintr</term>
		
		<listitem>
		  <para>ProAudioSpectrum digital audio et MIDI.</para>
		</listitem>
	      </varlistentry>
	      
	      <varlistentry><term>device sb0 at isa? port 0x220 irq 7
		  conflicts drq 1 vector sbintr</term>
		
		<listitem>
		  <para>SoundBlaster digital audio.</para>
		  
		  <note>
		    <para>Si votre SoundBlaster est sur une IRQ diff&eacute;rente
                      (5, par exemple), modifiez <literal>irq 7</literal> en 
                      <literal>irq 5</literal>, par exemple, et supprimez 
		      le mot-cl&eacute; <literal>conflicts</literal>. Vous devrez aussi
		      ajouter la ligne: 
                      <literal>options "SBC_IRQ=5"</literal></para>
		  </note>
		</listitem>
	      </varlistentry>
	      
	      <varlistentry><term>device sbxvi0 at isa? drq 5</term>
		
		<listitem>
		  <para>SoundBlaster 16 digital 16-bits audio.</para>
		  
		  <note>
		    <para>Si votre SB16 est sur un canal DMA 16-bits
                      diff&eacute;rent (tel que 6 ou 7), remplacez le  mot-cl&eacute;
                      <literal>drq 5</literal> par la valeur appropri&eacute;e, et
		      ajoutez la ligne:
                      <literal>options "SB16_DMA=6"</literal>.</para>
		  </note>
		</listitem>
	      </varlistentry>
	      
	      <varlistentry><term>device sbmidi0 at isa? port 0x330</term>
		
		<listitem>
		  <para>Interface SoundBlaster 16 MIDI. Si vous avez une
		    SoundBlaster 16, vous devez inclure cette ligne, sinon,
		    le noyau ne compilera pas.</para>
		</listitem>
	      </varlistentry>
	      
	      <varlistentry><term>device gus0 at isa? port 0x220 irq 10 drq 1
		  vector gusintr</term>
		
		<listitem>
		  <para>Gravis Ultrasound.</para>
		</listitem>
	      </varlistentry>
	      
	      <varlistentry><term>device mss0 at isa? port 0x530 irq 10 drq 1
		  vector adintr</term>
		
		<listitem>
		  <para>Microsoft Sound System.</para>
		</listitem>
	      </varlistentry>
	      
	      <varlistentry><term>device opl0 at isa? port 0x388
		  conflicts</term>
		
		<listitem>
		  <para>AdLib FM-synthesis audio. Ajoutez cette ligne pour
                    les cartes AdLib, SoundBlaster, et ProAudioSpectrum, 
                    si vous voulez jouer de la musique au format MIDI avec
                    des logiciels comme  <command>playmidi</command> 
                    (au catalogue des logiciels port&eacute;s).</para>
		</listitem>
	      </varlistentry>
	      
	      <varlistentry><term>device mpu0 at isa? port 0x330 irq 6 drq
		  0</term>
		
		<listitem>
		  <para>Carte d'extension Roland MPU-401.</para>
		</listitem>
	      </varlistentry>
	      
	      <varlistentry><term>device uart0 at isa? port 0x330 irq 5 vector
		  "m6850intr"</term>
		
		<listitem>
		  <para>Carte d'extension 6850 UART pour MIDI.</para>
		</listitem>
	      </varlistentry>
	      
	      <varlistentry><term>device pca0 at isa? port "IO_TIMER1"
		  tty<anchor id="kernelconfig-pcaudio"></term>
		
		<listitem>
		  <para>Son digital via le haut-parleur PC. Ce son sera de
		    tr&egrave;s mauvaise qualit&eacute; et consommera beaucoup de CPU, vous
                    &ecirc;tes donc pr&eacute;venus (mais il n'y a pas besoin de carte 
                    son).</para>
		</listitem>
	      </varlistentry>
	    </variablelist>
	  
	  
	  <note>
	    <para>Le fichier
	      <filename>/usr/src/sys/i386/isa/sound/sound.doc</filename>.
              contient un compl&eacute;ment de documentation. Si vous ajoutez l'un
              de ces pilotes, cr&eacute;ez aussi les
	      <link linkend="kernelconfig-nodes">fichiers sp&eacute;ciaux de p&eacute;riph&eacute;riques</link>
              pour le son.</para>
	  </note>
	  
	</sect2>
	
	<sect2>
	  <title>Pseudo-p&eacute;riph&eacute;riques</title>
	  
	  <para>Les pilotes de pseudo-p&eacute;riph&eacute;riques sont des parties du noyau 
          qui se comportent comme des pilotes de p&eacute;riph&eacute;riques mais ne 
            correspondent &agrave; aucun mat&eacute;riel de la machine. Les 
            pseudo-p&eacute;riph&eacute;riques associ&eacute;s au 
            <link linkend="kernelconfig-network">r&eacute;seau</link>
            sont d&eacute;crits dans la section 
            correspondante, les autres sont d&eacute;crits ici.</para>
	  
	  
	    <variablelist>
	      <varlistentry><term>pseudo-device gzip</term>
		<listitem>
		  <para><literal>gzip</literal> vous permet d'ex&eacute;cuter des
		    programmes FreeBSD qui ont &eacute;t&eacute; compress&eacute;s avec la commande
                    <command>gzip</command>. C'est le cas des programmes du
                    r&eacute;pertoire <filename>/stand</filename>, aussi est-ce une
		    bonne id&eacute;e de garder cette option dans votre noyau.</para>
		</listitem>
	      </varlistentry>
	      
	      <varlistentry><term>pseudo-device log</term>
		
		<listitem>
		  <para><literal>log</literal> est utilis&eacute; pour tracer les
		    messages d'erreur du noyau. Indispensable.</para>
		</listitem>
	      </varlistentry>
	      
	      <varlistentry><term>pseudo-device pty
		  <replaceable>nombre</replaceable><anchor
		    id="kernelconfig-ptys"></term>
		
		<listitem>
		  <para><literal>pty</literal> 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 xterm, et d'autres applications comme emacs.
		    <replaceable>nombre</replaceable> est le nombre de
		    <literal>pty</literal>s &agrave; cr&eacute;er. S'il vous faut plus du
		    d&eacute;faut <filename>GENERIC</filename> de 16 fen&ecirc;tres xterm
		    et/ou connexions &agrave; distance simultan&eacute;es, veillez &agrave; 
                    augmenter cette valeur en cons&eacute;quence, jusqu'au maximum
		    de 64.</para>
		</listitem>
	      </varlistentry>
	      
	      <varlistentry><term>pseudo-device snp
		  <replaceable>nombre</replaceable></term>
		
		<listitem>
		  <para>Pseudo-p&eacute;riph&eacute;rique espion. Ce pseudo-p&eacute;riph&eacute;rique 
                  permet &agrave; une session d'en espionner une autre avec la commande
		    <citerefentry><refentrytitle>watch</refentrytitle><manvolnum>8</manvolnum></citerefentry>. Notez 
                    que l'impl&eacute;mentation de cette posibilit&eacute; a d'importantes
                    cons&eacute;quences sur la s&eacute;curit&eacute; et la confidentialit&eacute;.
		    Le <replaceable>nombre</replaceable>
		    qui suit snp est le nombre maximum de sessions 
                    &ldquo;espion&rdquo;
		    simultan&eacute;es. Optionnel.</para>
		</listitem>
	      </varlistentry>
	      
	      <varlistentry><term>pseudo-device vn</term>
		
		<listitem>
		  <para>Pilote de noeud virtuel. Ce pilote permet d'utiliser 
                    un fichier comme un p&eacute;riph&eacute;rique apr&egrave;s l'avoir configur&eacute; 
                    avec la commande
		    <citerefentry><refentrytitle>vnconfig</refentrytitle><manvolnum>8</manvolnum></citerefentry>.
                    Il peut &ecirc;tre utile pour manipuler des images de disquettes
                    ou pour utiliser un fichier comme p&eacute;riph&eacute;rique de 
                    pagination. (e.g. comme un fichier MS Windows de 
                    pagination). En option.</para>
		</listitem>
	      </varlistentry>
	      
	      <varlistentry><term>pseudo-device ccd
		  <replaceable>nombre</replaceable></term>
		
		<listitem>
                  <para>Disques concat&eacute;n&eacute;s, Ce pseudo-p&eacute;riph&eacute;rique vous
                    permet de concat&eacute;ner plusieurs partitions sur disque
                    en un seul gros &ldquo;m&eacute;ta&rdquo;-disque. Le
		    <replaceable>nombre</replaceable> apr&egrave;s
		    ccd est le nombre maximum de disques concat&eacute;n&eacute;s (et non
                    le nombre maximum de disques qui peuvent &ecirc;tre concat&eacute;n&eacute;s)
                    que l'on pourra cr&eacute;er.  (Voyez les pages de manuel de
                    <citerefentry><refentrytitle>ccd</refentrytitle><manvolnum>4</manvolnum></citerefentry> 
                    et <citerefentry><refentrytitle>ccdconfig</refentrytitle><manvolnum>8</manvolnum></citerefentry> 
                    pour plus de d&eacute;tails.) En option.</para>
		</listitem>
	      </varlistentry>
	    </variablelist>
	  
	  
	</sect2>
	
	<sect2>
	  <title>Manette de jeu, haut-parleur PC, divers</title>
	  
	  <para>Cette section d&eacute;crit des dispositifs divers qui sont 
            support&eacute;s par FreeBSD. Aucune de ces lignes ne se trouve
            dans le noyau g&eacute;n&eacute;rique, vous devrez les recopier de ce manuel
            ou du noyau LINT (qui inclut le support de 
            <emphasis>tous</emphasis> les p&eacute;riph&eacute;riques):</para>
	  
	    <variablelist>
	      <varlistentry><term>device joy0 at isa? port "IO_GAME"</term>
		<listitem>
		  <para>Manette de jeu PC.</para>
		</listitem>
	      </varlistentry>
	      
	      <varlistentry><term>pseudo-device speaker</term>
		
		<listitem>
		  <para>Supporte les bruitages du style IBM BASIC via
                    le haut-parleur du PC. Certains programmes amusants 
                    de <filename>/usr/sbin/spkrtest</filename>, qui est une
                    proc&eacute;dure qui joue quelques chansonnettes et
		    <filename>/usr/games/piano</filename>, qui vous permet
                    d'utiliser le clavier comme un piano rudimentaire (ce
                    fichier existe si vous avez install&eacute; les logiciels de
                    jeux <literal>games</literal>) utilisent cette possibilit&eacute;.
                    L'excellent jeu de r&ocirc;les en mode texte
                    <application>NetHack</application> (au catalogue des
                    logiciels port&eacute;s) peut aussi &ecirc;tre configur&eacute; pour faire
                    entendre la musique sur ce p&eacute;riph&eacute;rique quand vous jouez
                    d'un instrument pendant le jeu.</para>

		  <para>Voyez aussi ce qui concerne le p&eacute;riph&eacute;rique
                    <link linkend="kernelconfig-pcaudio">pca0</link>.</para>
		</listitem>
	      </varlistentry>
	    </variablelist>
	  
	  
	</sect2>
      </sect1>
      
      <sect1
	id="kernelconfig-nodes">
	<title>Cr&eacute;er les fichiers sp&eacute;ciaux de p&eacute;riph&eacute;riques</title>
	
	<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 noeuds ressemblent
          &agrave; des fichiers ordinaires, mais sont en fait des points d'entr&eacute;e
          particuliers dans le noyau, qu'utilisent les programmes 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 noeuds
	  n&eacute;cessaires. Cependant, elle ne les cr&eacute;e pas 
          <emphasis>tous</emphasis>, de sorte que, quand vous ajoutez le support
          pour un nouveau p&eacute;riph&eacute;rique, il vaut 
          la peine de v&eacute;rifier que l'entr&eacute;e
	  ad&eacute;quate existe dans ce r&eacute;pertoire, et sinon, de l'y ajouter. Voici
	  un exemple simple:</para>
	
	<para>Supposons que vous ajoutiez au noyau le support du lecteur de 
          CD-ROMs IDE avec la ligne:
	  
	  <programlisting>
controller wcd0
	  </programlisting> Cela signifie que vous devrez chercher une entr&eacute;e
          qui commence par <filename>wcd0</filename> dans le r&eacute;pertoire
	  <filename>/dev</filename>, &eacute;ventuellement suivie d'une lettre comme
	  <literal>c</literal>, ou pr&eacute;c&eacute;d&eacute;e de la lettre <literal>r</literal>, 
          qui d&eacute;signe un p&eacute;riph&eacute;rique en mode 
          caract&egrave;re&nbsp;-&nbsp;&ldquo;raw (brut)&rdquo;. S'il 
          s'av&egrave;re que ces fichiers n'existent
          pas, vous devez aller dans le r&eacute;pertoire <filename>/dev</filename> 
          et taper:
	  
	  <informalexample>
	    <screen>&prompt.root; <userinput>sh MAKEDEV wcd0</userinput></screen>
	  </informalexample> Quand la proc&eacute;dure s'est ex&eacute;cut&eacute;e, vous verrez
          qu'il y a maintenant les entr&eacute;es 
	  <filename>wcd0c</filename> et <filename>rwcd0c</filename> 
          dans <filename>/dev</filename>. Ce qui vous confirme qu'elle a bien
	  fonctionn&eacute;.</para>
	
	<para>Pour les cartes sons, la commande:

	  <informalexample>
	    <screen>&prompt.root; <userinput>sh MAKEDEV snd0</userinput></screen>
	  </informalexample> cr&eacute;era les entr&eacute;es n&eacute;cessaires.</para>

	<note>
	  <para>Quand vous cr&eacute;ez les noeuds pour des p&eacute;riph&eacute;riques comme
            les cartes sons, si d'autres personnes ont acc&egrave;s &agrave; votre 
            machine, il peut &ecirc;tre souhaitable de prot&eacute;ger ces p&eacute;riph&eacute;riques
            d'acc&egrave;s ext&eacute;rieurs en les ajoutant au fichier
	    <filename>/etc/fbtab</filename> . Voyez <command>man
	      fbtab</command> pour plus d'informations.</para>
	</note>
	
	<para>Suivez cette simple proc&eacute;dure pour tous les autres p&eacute;riph&eacute;riques
          absents de <filename>GENERIC</filename> pour lequels les entr&eacute;es 
          n'existent pas encore.</para>
	
	<note>
	  <para>Tous les contr&ocirc;leurs SCSI utilisent les m&ecirc;mes entr&eacute;es dans
	    <filename>/dev</filename>, vous n'avez donc pas besoin de les
            cr&eacute;er. Par ailleurs, les cartes r&eacute;seau et les pseudo-p&eacute;riph&eacute;riques
            SLIP/PPP n'ont pas d'entr&eacute;e dans <filename>/dev</filename>, vous
            n'avez donc pas non plus &agrave; vous en pr&eacute;occupper.</para>
	</note>
	
      </sect1>
      
      <sect1
	id="kernelconfig-trouble">
	<title>Si quelque chose se passe mal</title>
	
	<para>Il y a quatre types de probl&egrave;mes que vous pouvez rencontrer
          quand vous g&eacute;n&eacute;rez un noyau sur-mesure. Ce sont:</para>
	
	
	  <variablelist>
	    <varlistentry><term>La commande Config &eacute;choue.</term>
	      <listitem>
		<para>Si la commande <command>config</command> &eacute;choue
                  quand vous lui donnez en param&egrave;tre la description de
                  votre noyau, vous avez probablement fait une simple
                  erreur quelque part. Heureusement
		  <command>config</command> vous affiche le num&eacute;ro de
                  la ligne qui lui a pos&eacute; probl&egrave;me, vous pouvez donc vous 
                  y r&eacute;f&eacute;rez rapidement avec la commande <command>vi</command>.
		  Par exemple, si vous avez:
		
		  <informalexample>
		    <screen>config: line 17: syntax error</screen>
		  </informalexample> vous pouvez aller droit au probl&egrave;me avec
                  <command>vi</command> en tapant <COMMAND>17G</COMMAND> 
                  en mode commande. V&eacute;rifiez que le mot-cl&eacute; est correctement
                  sp&eacute;cifi&eacute;, en le comparant avec ce qu'il y a dans le noyau
		  GENERIC ou autre r&eacute;f&eacute;rence.</para>
	      </listitem>
	    </varlistentry>
	    
	    <varlistentry><term>La commande Make &eacute;choue.</term>
	      
	      <listitem>
		<para>Si la commande <command>make</command> &eacute;choue,
                  c'est habituellement une erreur dans la description de
                  votre noyau, pas suffisamment s&eacute;rieuse cependant pour
		  que la commande <command>config</command> la d&eacute;tecte.
                  V&eacute;rifiez l&agrave; aussi votre fichier de configuration et, si
                  vous n'arrivez toujours pas &agrave; r&eacute;soudre le probl&egrave;me,
                  adressez un courrier &eacute;lectronique &agrave; 
		  &a.questions; en joignant votre fichier de configuration
                  du noyau, le diagnostic devrait &ecirc;tre tr&egrave;s rapide.</para>
	      </listitem>
	    </varlistentry>
	    
	    <varlistentry><term>Le syst&egrave;me ne red&eacute;marre pas avec le nouveau
                noyau<anchor
		  id="kernelconfig-noboot">.</term>
	      
	      <listitem>
		<para>Si votre syst&egrave;me ne red&eacute;marre pas avec le nouveau noyau,
                  ou ne reconna&icirc;t pas vos p&eacute;riph&eacute;riques, ne paniquez pas!
                  BSD est heureusement dot&eacute; d'un excellent m&eacute;canisme pour
                  r&eacute;cup&eacute;rer si le noyau n'est pas coh&eacute;rent. Tapez simplement
                  le nom du noyau que vous voulez charger &agrave; l'invite de
                  d&eacute;marrage de FreeBSD
		  (i.e. <filename>kernel.old</filename>) au lieu d'appuyer
                  sur Entr&eacute;e. Quand vous reconfigurez votre noyau, c'est
                  toujours une bonne id&eacute;e de garder sous le coude un noyau
                  dont vous savez qu'il fonctionne.</para>
		
		<para>Apr&egrave;s avoir d&eacute;marr&eacute; le syst&egrave;me avec un noyau en &eacute;tat de
                  marche, vous pouvez rev&eacute;rifier votre fichier de configuration
                  et essayer de recompiler de nouveau votre noyau. Les 
                  indications du fichier
		  <filename>/var/log/messages</filename> qui enregistre, entre
                  autres, tous les messages du noyau &agrave; chaque d&eacute;marrage 
                  r&eacute;ussi peuvent vous aider. La commande
		  <citerefentry><refentrytitle>dmesg</refentrytitle><manvolnum>8</manvolnum></citerefentry>
                  vous affichera aussi 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 celui que vous g&eacute;n&eacute;rez,
                    de fa&ccedil;on &agrave; ce qu'il ne soit pas &eacute;cras&eacute; par la prochaine
                    compilation. Vous ne pouvez pas vous fier au noyau
		    <filename>kernel.old</filename>, parce qu'&agrave; l'installation
                    du nouveau noyau, il est surcharg&eacute; par le dernier noyau
                    install&eacute;, dont il n'est pas certain qu'il soit op&eacute;rationnel.
                    D&eacute;placez aussi, aussit&ocirc;t que possible, le noyau op&eacute;rationnel
                    vers le bon fichier <filename>kernel</filename>, sans quoi
                    des commandes comme
		    <citerefentry><refentrytitle>ps</refentrytitle><manvolnum>1</manvolnum></citerefentry>
                    ne s'ex&eacute;cuteront pas correctement. La bonne commande pour
                    &ldquo;d&eacute;verrouiller&rdquo; le fichier 
		    <filename>kernel</filename> install&eacute; par la commande 
                    <command>make</command> (pour mettre d&eacute;finitivement en
		    place une autre noyau) est:
		  
		    <informalexample>
		    <screen>&prompt.root; <userinput>chflags noschg /kernel</userinput></screen>
		    </informalexample> Si vous voulez 
		    &ldquo;verrouiller&rdquo; le noyau que vous venez
                    d'installer, ou tout autre fichier le cas &eacute;ch&eacute;ant,
                    de sorte qu'il ne puisse &ecirc;tre d&eacute;plac&eacute; ou modifi&eacute;,
                    utilisez:
		  
		    <informalexample>
		    <screen>&prompt.root; <userinput>chflags schg /kernel</userinput></screen>
		    </informalexample>
		  </para>
	        </note>
	      </listitem>
	    </varlistentry>
	    
	    <varlistentry><term>Le noyau est op&eacute;rationnel, mais la commande
                 <command>ps</command> ne fonctionne plus!</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 exp&eacute;rimental &ldquo;2.2.0&rdquo; sur
		  un syst&egrave;me 2.1.0-RELEASE, de nombreuses commandes d'affichage
                  de l'&eacute;tat du syst&egrave;me, telles
		  <citerefentry><refentrytitle>ps</refentrytitle><manvolnum>1</manvolnum></citerefentry> and <citerefentry><refentrytitle>vmstat</refentrytitle><manvolnum>8</manvolnum></citerefentry>
		  ne fonctionneront plus. Vous devez recompiler la
                  biblioth&egrave;que <filename>libkvm</filename> de m&ecirc;me que ces
                  utilitaires. 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-shorttag: nil
     sgml-always-quote-attributes: t 
     sgml-minimize-attributes: max
     sgml-parent-document: ("../handbook.sgml" "part" "chapter")
     End: 
-->       
