Show 021.html syntax highlighted
<HTML><HEAD><TITLE>Linux-Mandrake: Guide de l'utilisateur et Manuel de référence</TITLE>
<LINK REV=MADE HREF="mailto:info@mandrakesoft.com"></HEAD>
<BODY BGCOLOR="#ffffff"><center><font size="+5"><STRONG><table border="0"><tr><td><STRONG>Linux-Mandrake</STRONG>:</td></tr><tr><td>Guide de l'utilisateur</td></tr><tr><td>et Manuel de référence</td></tr></table></STRONG></font>
<p><font size="+2"><STRONG><table border="0"><tr><td><STRONG>MandrakeSoft</STRONG></td></tr></table></STRONG></font>
<p><STRONG><table border="0"><tr><td> </td></tr><tr><td> </td></tr><tr><td>Janvier 2000</td></tr><tr><td><CODE>http://www.linux-mandrake.com</CODE></td></tr><tr><td></td></tr></table></STRONG></center>
<hr><a href="022.html">Suivant : Installation d'un logiciel libre</a><br><a href="020.html">Précédent : Systèmes de fichiers et points de montage</a><br><a href="../">Retour</a><br><hr><a href="000.html#toc"><font size="-1">(Retour à la table des matières)</font></a>
<H1><font size="+1"><a name="232">Chapitre 11 : Compilation et mise en place de nouveaux noyaux</a></font></H1><hr><p>Avec la notion de montage de systèmes de fichiers et la compilation des
sources, c'est sans doute le sujet qui fâche le plus les débutants. La
compilation d'un nouveau noyau n'est en général pas nécessaire, puisque
les noyaux installés par <STRONG>Linux-Mandrake</STRONG> contiennent le support pour
un nombre conséquent de périphériques, mais...
<p>Il peut arriver, pourquoi pas, que vous ayez envie de le faire, rien que
pour voir « ce que ça fait ». À part faire travailler votre <EM>PC</EM>
et votre cafetière un peu plus que d'habitude, pas grand-chose.
Toutefois, l'objectif de ce chapitre est de faire en sorte que votre
cafetière reste utilisable après la compilation.
<p>Il existe aussi des raisons valables. Par exemple, vous avez lu que le
noyau que vous utilisez a un <STRONG>bogue</STRONG> au niveau de la sécurité,
bogue qui est corrigé dans une version plus récente; ou encore, un
nouveau noyau intègre le support pour un périphérique dont vous avez
bien besoin. Vous avez le choix d'attendre des mises à jour ou bien de
compiler un nouveau noyau vous-même, et optez pour la deuxième solution.
<p>Dans tous les cas, achetez du café.
<H1><a name="233">Où trouver les sources du noyau</a></H1>
<p>Le site primaire d'hébergement des sources du noyau est le site <EM>FTP</EM>
<CODE>ftp.kernel.org</CODE>, mais il possède un nombre important de miroirs, et
tous ont pour nom <CODE>ftp.xx.kernel.org</CODE>, où <CODE>xx</CODE> représent le code
<EM>ISO</EM> du pays. Pour la France, ce code est <CODE>fr</CODE>, et par conséquent
le miroir préférentiel sera la machine <STRONG><STRONG>ftp.fr.kernel.org</STRONG></STRONG>.
À partir de l'annonce officielle de la sortie du noyau, vous pouvez
compter deux bonnes heures avant que tous les miroirs soient alimentés.
<p>Sur tous ces serveurs <EM>FTP</EM>, les sources sont dans le répertoire
<CODE>/pub/linux/kernel</CODE>. Ensuite, allez dans le répertoire dont la
série vous intéresse: ce sera certainement <CODE>v2.2</CODE>. Rien ne vous
empêche d'essayer des noyaux 2.3, mais gardez à l'esprit que ce sont des
noyaux expérimentaux. Le fichier contenant les sources du noyau est
<CODE>linux-<version.du.noyau>.tar.gz</CODE>, par exemple
<CODE>linux-2.2.11.tar.gz</CODE>.
<p>Il existe également des <EM>patches</EM> (corrections) à appliquer aux
sources du noyau pour le mettre à jour de façon incrémentale: ainsi, si
vous avez déjà les sources du noyau 2.2.11 et voulez mettre à jour vers
le noyau 2.2.13, vous pouvez vous dispenser de télécharger les sources
en entier, et télécharger simplement les <STRONG><EM>patches</EM></STRONG>
<CODE>patch-2.2.12.gz</CODE> et <CODE>patch-2.2.13.gz</CODE>. C'est en règle
générale une bonne idée, les sources occupant aujourd'hui plus de 12
<EM>Mo</EM>.
<H1><a name="234">Décompacter les sources du noyau, corriger ce dernier (si nécessaire)</a></H1>
<p>Les sources du noyau sont à placer dans <CODE>/usr/src</CODE>. Il vous faut
donc vous placer dans ce répertoire puis y décompresser les sources:
<p><font size="+2"><PRE>
$ cd /usr/src
$ mv linux linux.old
$ tar xzf /path/to/linux-2.2.11.tar.gz
</PRE></font>
<p>La commande <CODE>mv linux linux.old</CODE> est nécessaire: en effet, vous
disposez peut-être déjà des sources d'une autre version du noyau. Cette
commande fera en sorte que vous ne les écrasiez pas. Dès l'archive
décompressée, vous disposez d'un répertoire <CODE>linux</CODE> avec les
sources du nouveau noyau.
<p>Maintenant, les <EM>patches</EM>. Nous allons supposer que vous voulez
effectivement <STRONG>« patcher »</STRONG> (« corriger ») du
2.2.11 vers le 2.2.13 et avez téléchargé les <EM>patches</EM>
nécessaires pour ce faire: rendez-vous donc dans le répertoire
<CODE>linux</CODE> nouvellement créé, puis appliquez les <EM>patches</EM>:
<p><font size="0"><PRE>
$ cd linux
$ gzip -dc /path/to/patch-2.2.12.gz | patch -p1 #
$ gzip -dc /path/to/patch-2.2.13.gz | patch -p1
$ cd ..
</PRE></font>
<p>De façon générale passer d'une version 2.2.x à une version 2.2.y
requiert que vous appliquiez tous les <EM>patches</EM> 2.2.x+1,
2.2.x+2, ..., 2.2.y dans l'ordre. Pour « redescendre » d'une
version 2.2.y vers une version 2.2.x, répétez exactement la même
procédure mais en appliquant les <EM>patches</EM> dans l'ordre inverse
et avec l'option <CODE>-R</CODE> de <CODE>patch</CODE> (<EM>Reverse</EM>,
« inverse »). Ainsi, pour repasser du noyau 2.2.13 au
noyau 2.2.11, vous feriez:
<p><font size="0"><PRE>
$ gzip -dc /path/to/patch-2.2.13.gz | patch -p1 -R
$ gzip -dc /path/to/patch-2.2.12.gz | patch -p1 -R
</PRE></font>
<p>Ensuite, pour faire propre (et aussi pour s'y retrouver), on peut
renommer <CODE>linux</CODE> pour refléter la version du noyau et créer un lien
symbolique:
<p><font size="+2"><PRE>
$ mv linux linux-2.2.11
$ ln -s linux-2.2.11 linux
</PRE></font>
<p>Il est maintenant temps de passer à la configuration. Pour cela il vous
faut être dans le répertoire des sources:
<p><font size="+2"><PRE>
$ cd linux
</PRE></font>
<H1><a name="235">Configuration du noyau</a></H1>
<p>Pour configurer le noyau vous avez le choix entre:
<ul><li><CODE>make xconfig</CODE> pour une interface graphique,
<li><CODE>make menuconfig</CODE> pour une interface basée sur
<CODE>ncurses</CODE>, ou
<li><CODE>make config</CODE> pour l'interface la plus rudimentaire,
ligne par ligne, section par section.</ul>
<p>Malheureusement la configuration du noyau n'est pas encore
internationalisée, tout est en anglais. Nous allons parcourir la
configuration section par section, mais vous pouvez sauter des sections
pour passer à celle qui vous intéresse si vous utilisez
<CODE>menuconfig</CODE> ou <CODE>xconfig</CODE>. Le choix pour les options
est <CODE>'y'</CODE> pour <EM><STRONG>Yes</STRONG></EM> (fonctionnalité compilée en dur dans
le noyau), <CODE>'m'</CODE> pour <EM><STRONG>Module</STRONG></EM> (fonctionnalité compilée
en module), ou <CODE>'n'</CODE> pour <EM><STRONG>No</STRONG></EM> (ne pas inclure dans le
noyau).
<p>Pour <CODE>xconfig</CODE>, vous aurez deviné à quoi servent les boutons
<EM><STRONG>Main Menu</STRONG></EM>, <EM><STRONG>Next</STRONG></EM> et
<EM><STRONG>Prev</STRONG></EM>. Pour <CODE>menuconfig</CODE>,
servez-vous de la touche <CODE>Entrée</CODE> pour sélectionner une section, et
changez les options avec <CODE>'y'</CODE>, <CODE>'m'</CODE> ou <CODE>'n'</CODE> pour en changer
l'état ou bien pressez la touche <CODE>Entrée</CODE> et faites votre choix pour
les options à choix multiples. <EM><STRONG>Exit</STRONG></EM> sortira d'une section
et sortira de la configuration si vous êtes dans le menu principal. Et
évidemment, il y a <EM><STRONG>Help</STRONG></EM>.
<p>Voici donc une liste relativement brutale des options et des choix
recommandés pour ces options, émaillée d'explications quand cela est
nécessaire. Les options qui ne sont pas abordées ici sont laissées à
votre discrétion. Les laisser « telles que vous les avez
trouvées » est en général une bonne chose.
<ul><li><EM><STRONG>Prompt for development and/or incomplete
code/drivers</STRONG></EM>: <CODE>'y'</CODE>
<li><EM><STRONG>Processor family</STRONG></EM>: vous l'aurez deviné, c'est
le type de processeur que vous possédez. Prenez <CODE>PPro/6x86MX</CODE>
si vous avez un processeur <STRONG>Intel</STRONG>
<EM>Pentium Pro</EM>, <EM>Pentium II</EM>, <EM>Celeron</EM> ou supérieur,
ou un
<EM>Cyrix 6x86</EM>
ou <EM>Cyrix MII</EM>.
<li><EM><STRONG>Maximum Physical Memory</STRONG></EM>: si vous avez moins
d'un <EM>Go</EM> de <EM>RAM</EM>, répondez 1 <EM>Go</EM>, et 2 <EM>Go</EM> sinon.
<li><EM><STRONG>Math emulation</STRONG></EM>: <CODE>'n'</CODE>.
<li><EM><STRONG>MTRR (Memory Type Range Register) support</STRONG></EM>:
<CODE>'y'</CODE>. Même si votre processeur ne les supporte pas, ce n'est pas
grave.
<li><EM><STRONG>Symmetric multi-processing support</STRONG></EM>: ne dites
<CODE>'y'</CODE> que si votre machine est multi-processeurs!
<li><EM><STRONG>Enable loadable module support</STRONG></EM>: <CODE>'y'</CODE>
<li><EM><STRONG>Set version information on all symbols for
modules</STRONG></EM>: <CODE>'n'</CODE>
<li><EM><STRONG>Kernel module loader</STRONG></EM>: <CODE>'y'</CODE>
<li><EM><STRONG>Networking support</STRONG></EM>: <CODE>'y'</CODE> --- même
si vous n'êtes pas en réseau! Vous en avez au moins besoin pour
l'interface <STRONG><EM>loopback</EM></STRONG>.
<li><EM><STRONG>PCI support</STRONG></EM>: <CODE>'y'</CODE> --- sauf si vous
n'avez pas de bus <EM>PCI</EM> sur votre machine.
<li><EM><STRONG>PCI access mode</STRONG></EM>: laissez sur
<EM><STRONG>Any</STRONG></EM>.
<li><EM><STRONG>PCI quirks</STRONG></EM>: <CODE>'y'</CODE>
<li><EM><STRONG>Backward-compatible /proc/pci</STRONG></EM>: <CODE>'y'</CODE>
<li><EM><STRONG>MCA support</STRONG></EM>: <CODE>'n'</CODE> --- à moins que
vous ayez un tel bus (les machines <STRONG>IBM</STRONG> <EM>PS/2</EM> par
exemple).
<li><EM><STRONG>SGI Visual Workstation support</STRONG></EM>: <CODE>'n'</CODE>
--- ou alors c'est que vous êtes très fortuné!
<li><EM><STRONG>System V IPC</STRONG></EM>: <CODE>'y'</CODE>
<li><EM><STRONG>BSD Process Accounting</STRONG></EM>: <CODE>'y'</CODE>
<li><EM><STRONG>Sysctl support</STRONG></EM>: <CODE>'y'</CODE>
<li><EM><STRONG>Kernel support for a.out binaries</STRONG></EM>: <CODE>'m'</CODE>
<li><EM><STRONG>Kernel support for ELF binaries</STRONG></EM>: <CODE>'y'</CODE>
<li><EM><STRONG>Kernel support for MISC binaries</STRONG></EM>: <CODE>'m'</CODE>
<li><EM><STRONG>Kernel support for JAVA binaries (obsolete)</STRONG></EM>:
comme indiqué, c'est obsolète --- <CODE>'n'</CODE>
<li><EM><STRONG>Parallel port support</STRONG></EM>: <CODE>'y'</CODE> ou <CODE>'m'</CODE>, au
choix.
<li><EM><STRONG>PC-style hardware</STRONG></EM>: vous pouvez répondre
<CODE>'y'</CODE> uniquement si vous avez répondu <CODE>'y'</CODE> à l'option
<EM><STRONG>Parallel port support</STRONG></EM>. Sinon, il vous faut répondre
<CODE>'m'</CODE> et rajouter la ligne <CODE>alias parport_lowlevel parport_pc</CODE>
dans le fichier <CODE>/etc/conf.modules</CODE>.
<li><EM><STRONG>Support foreign hardware</STRONG></EM>: <CODE>'n'</CODE>
<li><EM><STRONG>Advanced Power Management BIOS support</STRONG></EM>:
<CODE>'y'</CODE>, si votre carte mère le supporte.
<li><EM><STRONG>Ignore USER SUSPEND</STRONG></EM>: <CODE>'n'</CODE>
<li><EM><STRONG>Enable PM at boot time</STRONG></EM>: <CODE>'n'</CODE>
<li><EM><STRONG>Make CPU Idle calls when idle</STRONG></EM>: <CODE>'n'</CODE>
<li><EM><STRONG>Enable console blanking using APM</STRONG></EM>: <CODE>'y'</CODE>
<li><EM><STRONG>Power off on shutdown</STRONG></EM>: <CODE>'y'</CODE>
<li><EM><STRONG>Ignore multiple suspend</STRONG></EM>: <CODE>'y'</CODE>
<li><EM><STRONG>Ignore multiple suspend/resume cycle</STRONG></EM>: <CODE>'y'</CODE>
<li><EM><STRONG>RTC stores time in GMT</STRONG></EM>: <CODE>'n'</CODE> si votre
<EM>PC</EM> est à l'heure locale, <CODE>'y'</CODE> s'il est à l'heure <EM>GMT</EM>.
<li><EM><STRONG>Allow interrupts during APM BIOS calls</STRONG></EM>:
<CODE>'n'</CODE> (mais lisez l'aide!)
<li><EM><STRONG>Plug and Play support</STRONG></EM>: <CODE>'y'</CODE> ---
mais il faut savoir que tout ce que fait cette option est d'interroger
le <STRONG>BIOS</STRONG> <EM>PNP</EM> sur la configuration des cartes <EM>PNP</EM> s'il y en
a (rappelez-vous que le <EM>PNP</EM> n'a aucun sens pour les périphériques
<EM>PCI</EM>).
<li><EM><STRONG>Auto-probe for parallel devices</STRONG></EM>: <CODE>'m'</CODE> si
vous disposez de périphériques par port parallèle, <CODE>'n'</CODE> sinon.
<li><EM><STRONG>Normal <EM>PC</EM> floppy disk support</STRONG></EM>: <CODE>'m'</CODE>
<li><EM><STRONG>Enhanced IDE/MFM/RLL disk/cdrom/tape/floppy
support</STRONG></EM>: si vous avez des périphériques <EM>IDE</EM>, répondez <CODE>'y'</CODE>
<li><EM><STRONG>Use old disk-only driver on primary
interface</STRONG></EM>: <CODE>'n'</CODE>
<li><EM><STRONG>Include IDE/ATA-2 DISK support</STRONG></EM>: si vous
démarrez sur un disque <EM>IDE</EM> répondez <CODE>'y'</CODE>. Si vous disposez de
disques <EM>IDE</EM> mais démarrez sur un disque <EM>SCSI</EM>, vous pouvez répondre
<CODE>'m'</CODE>.
<li><EM><STRONG>Include IDE/ATAPI CDROM support</STRONG></EM>: <CODE>'m'</CODE> si
vous disposez d'un lecteur <EM>CD-ROM IDE</EM>.
<li><EM><STRONG>Include IDE/ATAPI TAPE support</STRONG></EM>: si vous
disposez d'un périphérique <EM>IDE</EM> de sauvegarde sur bandes
(<EM>Iomega Jaz</EM> par exemple) répondez <CODE>'y'</CODE> ou <CODE>'m'</CODE>.
<li><EM><STRONG>Include IDE/ATAPI FLOPPY support</STRONG></EM>: répondez
<CODE>'y'</CODE> ou <CODE>'m'</CODE> si vous disposez, par exemple, d'un lecteur <EM>ZIP
IDE</EM>.
<li><EM><STRONG>SCSI emulation support</STRONG></EM>: dites <CODE>'m'</CODE> si vous
disposez d'un graveur <EM>IDE</EM>, <CODE>'n'</CODE> sinon.
<li><EM><STRONG>Generic PCI IDE chipset support</STRONG></EM>: <CODE>'y'</CODE>
<li><EM><STRONG>Generic PCI bus-master DMA support</STRONG></EM>: <CODE>'y'</CODE>
<li><EM><STRONG>Boot off-board chipsets first support</STRONG></EM>:
<CODE>'n'</CODE>
<li><EM><STRONG>Use DMA by default when available</STRONG></EM>: <CODE>'y'</CODE>
<li><EM><STRONG>Loopback device support</STRONG></EM>: <CODE>'m'</CODE>
<li><EM><STRONG>Network block device support</STRONG></EM>: <CODE>'n'</CODE>
<li><EM><STRONG>Multiple devices driver support</STRONG></EM>: <CODE>'n'</CODE>
--- à moins que vous ne vouliez expérimenter le <EM>RAID</EM>. À ce
moment-là, voyez le <CODE>RAID-HOWTO</CODE>.
<li><EM><STRONG>RAM disk support</STRONG></EM>: <CODE>'n'</CODE>
<li><EM><STRONG>XT hard disk support</STRONG></EM>: <CODE>'n'</CODE> ---
quoi, vous avez encore de tels disques? <CODE>:)</CODE>
<li><EM><STRONG>Parallel port IDE device support</STRONG></EM>: <CODE>'m'</CODE> si
vous disposez de tels périphériques, <CODE>'n'</CODE> sinon. Si vous répondez
<CODE>'m'</CODE>, il vous faudra ensuite sélectionner quels types de
périphériques vous voulez reconnaître et quels protocoles. Reportez-vous
à l'aide du noyau pour en savoir plus, il n'y a pas de solutions
génériques à ce niveau, si ce n'est de tout compiler en module <CODE>:)</CODE>
<li><EM><STRONG>Packet socket</STRONG></EM>: <CODE>'m'</CODE>
<li><EM><STRONG>Kernel/User netlink socket</STRONG></EM>: <CODE>'y'</CODE>
<li><EM><STRONG>Routing messages</STRONG></EM>: <CODE>'n'</CODE>
<li><EM><STRONG>Netlink device emulation</STRONG></EM>: <CODE>'m'</CODE>
<li><EM><STRONG>Network firewalls</STRONG></EM>: <CODE>'n'</CODE>, sauf si vous
voulez faire du masquage <EM>IP</EM> (plusieurs machines derrière une
connexion <EM>Internet</EM>) ou bien tout simplement un
<EM><STRONG>firewall</STRONG></EM>, auquel cas il vous faut répondre <CODE>'y'</CODE>.
<li><EM><STRONG>UNIX domain sockets</STRONG></EM>: <CODE>'y'</CODE> ---
autrement <STRONG>X</STRONG> ne fonctionnera pas.
<li><EM><STRONG>TCP/IP networking</STRONG></EM>: <CODE>'y'</CODE>
<li><EM><STRONG>IP: multicasting</STRONG></EM>: <CODE>'n'</CODE>
<li><EM><STRONG>IP: advanced router</STRONG></EM>: si vous répondez <CODE>'y'</CODE>
ici c'est que vous savez de quoi il retourne --- sinon, répondez
<CODE>'n'</CODE>.
<li><EM><STRONG>IP: firewalling</STRONG></EM>: si vous faites un
<EM><STRONG>firewall</STRONG></EM> ou du masquage <EM>IP</EM>, répondez <CODE>'y'</CODE>,
sinon <CODE>'n'</CODE>. Pour le masquage, il vous faudra aussi répondre <CODE>'y'</CODE> à
<EM><STRONG>IP: always defragment (required for masquerading)</STRONG></EM>,
<EM><STRONG>IP: masquerading</STRONG></EM> et <EM><STRONG>IP: ICMP
masquerading</STRONG></EM>
<li><EM><STRONG>IP: optimize as router not host</STRONG></EM>: <CODE>'n'</CODE>,
sauf si la machine est effectivement un routeur dédié.
<li><EM><STRONG>IP: TCP syncookie support</STRONG></EM>: <CODE>'y'</CODE> si vous
êtes en réseau --- voyez également l'aide à ce sujet.
<li><EM><STRONG>IP: Allow large windows (not recommended if
<16Mb of memory)</STRONG></EM>: <CODE>'y'</CODE>
<li><EM><STRONG>CPU is too slow to handle full bandwidth</STRONG></EM>:
<CODE>'n'</CODE>, à moins que vous ne soyez connecté par une interface à très
haut débit (<EM>gigabit Ethernet</EM>, <EM>FDDI</EM>, etc.)
<li><EM><STRONG>SCSI support</STRONG></EM>: <CODE>'y'</CODE> si vous avez un (ou
plusieurs) adaptateur(s) et périphérique(s) <EM>SCSI</EM> , un lecteur <EM>ZIP</EM>
par port parallèle ou un graveur <EM>IDE</EM>, <CODE>'n'</CODE> sinon. Choisissez
<CODE>'y'</CODE> à « <EM><STRONG>SCSI disk support</STRONG></EM> » si vous
<STRONG><EM>bootez</EM></STRONG> sur un disque <EM>SCSI</EM>, et pas <CODE>'m'</CODE>!
Choisissez également <CODE>'m'</CODE> à <EM><STRONG>SCSI generic support</STRONG></EM>
si vous disposez d'un graveur (<EM>SCSI</EM> ou <EM>IDE</EM>), et répondez de façon
appropriée pour les autres types de périphériques. Quand vient le
moment de déterminer quel est (sont) votre (vos) adaptateur(s) <EM>SCSI</EM>,
reportez-vous au fichier intitulé <CODE>/etc/conf.modules</CODE>:
l'installation de la distribution <STRONG>Linux-Mandrake</STRONG> aura déterminé quels
pilotes utiliser.
<li><EM><STRONG>Probe all LUNs on each SCSI device</STRONG></EM>: voyez
l'aide --- en général, <CODE>'n'</CODE>
<li><EM><STRONG>Verbose SCSI error reporting (kernel size
+=12K)</STRONG></EM>: <CODE>'n'</CODE>
<li><EM><STRONG>SCSI logging facility</STRONG></EM>: <CODE>'n'</CODE>
<li><EM><STRONG>IOMEGA parallel port (ppa - older drives)</STRONG></EM>:
<CODE>'m'</CODE> si vous disposez d'un <EM>ZIP</EM> ancienne génération uniquement!
<li><EM><STRONG>IOMEGA parallel port (imm - newer
drives)</STRONG></EM>: si vous disposez d'un nouveau lecteur <EM>ZIP</EM>, c'est ici qu'il
faut répondre <CODE>'m'</CODE>.
<li><EM><STRONG>Network device support</STRONG></EM>: <CODE>'y'</CODE> si vous
disposez d'un périphérique réseau, ou si vous voulez vous connecter à
<EM>Internet</EM> par modem, <CODE>'n'</CODE> sinon.
<li><EM><STRONG>Dummy net driver support</STRONG></EM>: <CODE>'m'</CODE>
<li><EM><STRONG>ETHERNET (10 or 100Mbit)</STRONG></EM>: <CODE>'y'</CODE> si vous
avez une ou plusieurs cartes <EM>Ethernet</EM>. Sélectionnez ensuite
le(s) pilote(s) approprié(s) pour votre (vos) carte(s) <EM>Ethernet</EM>.
<li><EM><STRONG>PPP (point-to-point) support</STRONG></EM>: <CODE>'y'</CODE> ou
<CODE>'m'</CODE> si vous souhaitez vous connecter à l'<EM>Internet</EM> via un
modem.
<li><EM><STRONG>SLIP (serial line) support</STRONG></EM>: <CODE>'n'</CODE>
<li><EM><STRONG>IrDA subsystem support</STRONG></EM>: <CODE>'y'</CODE> ou <CODE>'m'</CODE> si
vous disposez de périphériques infrarouges sur votre <EM>PC</EM>. Si c'est le
cas, répondez ensuite <CODE>'y'</CODE> ou <CODE>'m'</CODE> aux différentes options
proposées: <EM><STRONG>IrLAN protocol</STRONG></EM> si vous disposez d'un
émetteur/récepteur infrarouge pour communiquer avec d'autres <EM>PC</EM>
disposant d'une interface similaire (émulation <EM>Ethernet</EM>),
<EM><STRONG>IrCOMM protocol</STRONG></EM> si vous disposez d'un périphérique
infrarouge émulant un port série, <EM><STRONG>IrLPT protocol</STRONG></EM>
pour les périphériques infrafouges émulant un port parallèle. Dites
<CODE>'y'</CODE> à <EM><STRONG>IrDA protocol options</STRONG></EM>, <CODE>'y'</CODE> à
<EM><STRONG>Cache last LSAP</STRONG></EM>, <CODE>'n'</CODE> à <EM><STRONG>Fast
RRs</STRONG></EM> (mais voyez l'aide à ce sujet), <CODE>'n'</CODE> à <EM><STRONG>Debug
information</STRONG></EM>, <CODE>'n'</CODE> à <EM><STRONG>IrLAP compression</STRONG></EM> à moins
que vous vouliez l'essayer (voyez l'aide), <CODE>'y'</CODE> ou <CODE>'m'</CODE> à
<EM><STRONG>IrTTY (uses Linux serial driver)</STRONG></EM> et
<EM><STRONG>IrPORT (IrDA serial driver)</STRONG></EM>; puis vient le support
pour les différentes puces infrarouges, choisissez ceux ou celles dont
vous disposez (reportez-vous à la documentation sur votre matériel).
<li><EM><STRONG>ISDN support</STRONG></EM>: répondez <CODE>'y'</CODE> si vous
disposez d'un adaptateur <EM>ISDN interne</EM>. Si vous vous
connectez à l'<EM>Internet</EM> en utilisant une telle connexion (<EM>RNIS</EM>
ou <EM>Numéris</EM> en France), répondez également <CODE>'y'</CODE> à
<EM><STRONG>Support synchronous PPP</STRONG></EM>. Il va vous falloir
demander à votre fournisseur d'accès s'il reconnaît la compression
<STRONG>Van Jacobson</STRONG> pour répondre de façon appropriée à l'option
<EM><STRONG>Use VJ-compression with synchronous PPP</STRONG></EM>. Répondez
<CODE>'n'</CODE> à <EM><STRONG>Support generic MP (RFC 1717)</STRONG></EM> (mais voyez
l'aide), <CODE>'n'</CODE> à <EM><STRONG>Support audio via ISDN</STRONG></EM> (mais
voyez l'aide) et à <EM><STRONG>Support isdn diversion services</STRONG></EM>.
Puis vient le choix du pilote de votre carte <EM>ISDN</EM>: reportez-vous à la
documentation de votre matériel.
<li><EM><STRONG>Support non-SCSI/IDE/ATAPI CDROM drives</STRONG></EM>:
<CODE>'n'</CODE>, à moins que vous disposiez d'un lecteur <EM>CD-ROM</EM> ayant une
interface propriétaire. Très rare de nos jours.
<li><EM><STRONG>Virtual terminal</STRONG></EM>: <CODE>'y'</CODE>
<li><EM><STRONG>Support for console on virtual terminal</STRONG></EM>:
<CODE>'y'</CODE>
<li><EM><STRONG>Standard/generic (dumb) serial support</STRONG></EM>:
<CODE>'y'</CODE>
<li><EM><STRONG>Support for console on serial port</STRONG></EM>: <CODE>'n'</CODE>
<li><EM><STRONG>Extended dumb serial driver options</STRONG></EM>: <CODE>'n'</CODE>
<li><EM><STRONG>Non-standard serial port support</STRONG></EM>: <CODE>'n'</CODE>
<li><EM><STRONG>Unix98 PTY support</STRONG></EM>: <CODE>'y'</CODE> ---
laissez l'option <EM><STRONG>Maximum number of Unix98 PTYs in
use (0-2048)</STRONG></EM> à sa valeur par défaut, 256.
<li><EM><STRONG>Parallel printer support</STRONG></EM>: <CODE>'m'</CODE> si vous
disposez d'une imprimante sur port parallèle. Dans ce cas, dites
également <CODE>'y'</CODE> à <EM><STRONG>Support IEEE1284 status
readback</STRONG></EM>.
<li><EM><STRONG>Mouse Support (not serial mice)</STRONG></EM>: comme son
nom l'indique. Si votre souris n'est pas sur un port <EM>COM</EM> il vous faut
répondre <CODE>'y'</CODE> ici, puis <CODE>'y'</CODE> ou <CODE>'m'</CODE> au type de souris
approprié. Reportez-vous à l'aide pour chacune de ces options. Comme
indiqué dans l'aide, pour tout type de souris étrange qui n'est ni
série, ni <EM>PS/2</EM>, reportez-vous au <CODE>Busmouse-HOWTO</CODE>. En
particulier, faites attention avec les ordinateurs portables.
<li><EM><STRONG>QIC-02 tape support</STRONG></EM>: <CODE>'y'</CODE> si vous avez un
tel lecteur de bandes non <EM>SCSI</EM>.
<li><EM><STRONG>Watchdog Timer Support</STRONG></EM>: <CODE>'n'</CODE>
<li><EM><STRONG>/dev/nvram support</STRONG></EM>: <CODE>'n'</CODE>
<li><EM><STRONG>Enhanced Real Time Clock Support</STRONG></EM>: <CODE>'y'</CODE>
<li><EM><STRONG>Video For Linux</STRONG></EM>: si vous avez une carte
TV, une carte radio ou une <EM>QuickCam</EM>, répondez <CODE>'y'</CODE>.
Répondez ensuite <CODE>'y'</CODE> ou <CODE>'m'</CODE>, au choix, aux options désignant
votre périphérique. La documentation sur votre matériel vous sera là
encore utile.
<li><EM><STRONG>Joystick support</STRONG></EM>: <CODE>'y'</CODE> ou <CODE>'m'</CODE> si vous
avez un <EM>joystick</EM> (« manette de jeux ») et voulez
l'utiliser. Il vous faut ensuite choisir le pilote correspondant à votre
<EM>joystick</EM>. Reportez-vous à l'aide et à la documentation sur
votre matériel.
<li><EM><STRONG>Ftape (QIC-80/Travan) support</STRONG></EM>: <CODE>'y'</CODE> si
vous disposez d'un lecteur de bandes connecté au contrôleur de
disquette. Reportez-vous ensuite à l'aide pour les différentes options.
<li><EM><STRONG>Quota support</STRONG></EM>: <CODE>'n'</CODE> --- si vous
répondez <CODE>'y'</CODE> ici, c'est que vous connaissez votre domaine <CODE>:)</CODE>
<li><EM><STRONG>Kernel automounter support</STRONG></EM>: <CODE>'n'</CODE>
<li><EM><STRONG>DOS FAT fs support</STRONG></EM>: <CODE>'y'</CODE> ou <CODE>'m'</CODE>, sauf
si vous ne souhaitez pas du tout accéder à des disquettes ou partitions
<STRONG>DOS</STRONG>/<STRONG>Windows</STRONG> depuis <STRONG>Linux</STRONG>.
<li><EM><STRONG>MSDOS fs support</STRONG></EM>: <CODE>'m'</CODE>
<li><EM><STRONG>UMSDOS: Unix-like filesystem on top of
standard MSDOS filesystem</STRONG></EM>: <CODE>'n'</CODE>
<li><EM><STRONG>VFAT (Windows-95) fs support</STRONG></EM>: <CODE>'m'</CODE>
--- inclut le support pour la <EM>FAT32</EM>.
<li><EM><STRONG>ISO 9660 CDROM filesystem support</STRONG></EM>: <CODE>'m'</CODE>
<li><EM><STRONG>Microsoft Joliet CDROM extensions</STRONG></EM>: <CODE>'y'</CODE>
<li><EM><STRONG>/proc filesystem support</STRONG></EM>: <CODE>'y'</CODE>
<li><EM><STRONG>/dev/pts filesystem for Unix98 PTYs</STRONG></EM>: <CODE>'y'</CODE>
<li><EM><STRONG>Second extended fs support</STRONG></EM>: <CODE>'y'</CODE>
<li><EM><STRONG>NFS filesystem support</STRONG></EM>: <CODE>'y'</CODE> si votre
machine est un <EM>client NFS</EM>. Autrement, <CODE>'n'</CODE>.
<li><EM><STRONG>NFS server support</STRONG></EM>: <CODE>'y'</CODE> si votre machine
doit agir en tant que <EM>serveur NFS</EM>.
<li><EM><STRONG>SMB filesystem support (to mount WfW shares
etc.)</STRONG></EM>: <CODE>'y'</CODE> si vous voulez monter des partitions depuis un serveur
de fichiers sous <STRONG>Windows</STRONG> (<STRONG>9x</STRONG> ou <STRONG>NT</STRONG>), <CODE>'n'</CODE>
sinon. Cette option n'est pas nécessaire si vous faites un
<EM>serveur SMB</EM>.
<li><EM><STRONG>Codepage 437 (United States, Canada)</STRONG></EM>: <CODE>'m'</CODE>
<li><EM><STRONG>Codepage 850 (Europe)</STRONG></EM>: <CODE>'m'</CODE>
<li><EM><STRONG>NLS ISO 8859-1</STRONG></EM>: <CODE>'m'</CODE>
<li><EM><STRONG>NLS ISO 8859-15</STRONG></EM>: <CODE>'m'</CODE>
<li><EM><STRONG>VGA text console</STRONG></EM>: <CODE>'y'</CODE>
<li><EM><STRONG>Video mode selection support</STRONG></EM>: si vous voulez
utiliser le <EM>framebuffer</EM>, dites <CODE>'y'</CODE>. Le
<EM>framebuffer</EM> permet d'avoir des consoles virtuelles bien plus
agréables à l'oeil ainsi qu'un joli logo au démarrage <CODE>:)</CODE> Il
n'empêche cependant pas l'utilisation d'un serveur <STRONG>X</STRONG>. Dites
<CODE>'y'</CODE> également à <EM><STRONG>Support for frame buffer devices
(EXPERIMENTAL)</STRONG></EM>, <CODE>'y'</CODE> à <EM><STRONG>VESA VGA graphics
console</STRONG></EM>.
<li><EM><STRONG>Sound card support</STRONG></EM>: dites <CODE>'m'</CODE> ici si vous
avez une carte son, et reportez-vous à votre <CODE>/etc/conf.modules</CODE>
pour savoir quel pilote utiliser. Cela présuppose que vous ayez déjà
configuré votre carte son, avec <CODE>sndconfig</CODE>.
<li><EM><STRONG>Magic SysRq key</STRONG></EM>: <CODE>'n'</CODE></ul>
<p>Et voilà! La configuration est enfin terminée. Quittez en sauvegardant
votre configuration.
<p>Le fichier de configuration a le nom <CODE>/usr/src/linux/.config</CODE>.
C'est en général une très bonne idée d'en faire une copie de sauvegarde!
De préférence, mettez cette copie dans le répertoire personnel de
<CODE>root</CODE>. La configuration changeant très peu entre les révisions
du noyau (c'est-à-dire entre deux noyaux 2.2.x ou 2.3.x ou...), vous
pourrez vous en resservir pour configurer vos futurs noyaux.
<p>Maintenant, place à la compilation.
<H1><a name="236">Compilation et installation des modules</a></H1>
<p>Tout d'abord une petite chose: si vous compilez un noyau de version
identique à une version déjà présente sur votre système, les modules de
ce dernier doivent être effacés avant. Par exemple, si vous recompilez
un noyau 2.2.10, il vous faudra effacer le répertoire
<CODE>/lib/modules/2.2.10</CODE>.
<p>La compilation du noyau et des modules, ainsi que l'installation des
modules se font en une seule ligne:
<p><font size="+1"><PRE>
$ make dep && make bzImage && make modules &&
make modules_install
</PRE></font>
<p>Si vous vous demandez à quoi sert ce fameux <CODE>&&</CODE>, voici
l'explication: <CODE>a && b</CODE> exécute d'abord <CODE>a</CODE>, et
exécute <CODE>b</CODE> <EM>si et seulement si</EM> <CODE>a</CODE> s'est
terminé avec succès. Par extension vous imaginez donc ce que fait la
ligne de commande ci-dessus: si l'une des commandes échoue, celles qui
suivent ne seront pas exécutées. Une autre conséquence en cas d'échec
est qu'il y a un bogue dans le noyau! Si c'est le cas, signalez-le
nous...
<p>Autre chose encore: non, compiler un nouveau noyau n'invalidera pas
l'ancien! Si la compilation échoue ici, cela ne veut pas dire que votre
système ne pourra plus démarrer. Pour empêcher votre système de
démarrer, il faut vraiment que vous fassiez une grosse bêtise ---
ce qui, autant vous rassurer, ne vous arrivera pas si vous respectez
scrupuleusement les consignes de ce chapitre <CODE>:)</CODE>
<H1><a name="237">Installation du nouveau noyau, mise à jour de <STRONG>LILO</STRONG></a></H1>
<p>Votre noyau étant maintenant compilé avec succès, il reste à
l'installer. Toujours pour rester « propre » et identifier vos
noyaux de façon non ambiguë, il est préférable de respecter une certaine
discipline de nommage. On va supposer que vous installez un noyau
2.2.13. À ce moment-là, tapez les commandes suivantes:
<p><font size="0"><PRE>
$ cp arch/i386/boot/bzImage /boot/vmlinuz-2.2.13
$ cp System.map /boot/System.map-2.2.13
</PRE></font>
<p>Après cela, il vous reste à mettre à jour <CODE>/etc/lilo.conf</CODE>.
Évidemment, gardez la possibilité de démarrer votre noyau actuel! Voici
à quoi ressemble un <CODE>lilo.conf</CODE> typique, après installation de
votre distribution <STRONG>Linux-Mandrake</STRONG> et avant modification:
<p><font size="+2"><PRE>
boot=/dev/hda
map=/boot/map
install=/boot/boot.b
prompt
timeout=50
image=/boot/vmlinuz-2.2.9-19mdk
label=linux
root=/dev/hda1
read-only
other=/dev/hda2
label=dos
table=/dev/hda
</PRE></font>
<blockquote>Attention: Cet exemple suppose que vous utilisez <STRONG>LILO</STRONG> en tant que
chargeur principal! Si vous utilisez <STRONG>System Commander</STRONG>, la
directive <CODE>boot=</CODE> sera différente, et vous n'aurez probablement
pas de section <CODE>other</CODE>.</blockquote>
<p>Un fichier <CODE>lilo.conf</CODE> est composé d'une section principale, suivie
d'une section pour le lancement de chaque système d'exploitation. Dans
l'exemple du fichier ci-dessus la section principale est composée des
directives suivantes:
<p><font size="+2"><PRE>
boot=/dev/hda
map=/boot/map
install=/boot/boot.b
prompt
timeout=50
</PRE></font>
<p>La directive <CODE>boot=</CODE> dit à <STRONG>LILO</STRONG> où il doit installer son
secteur de <EM>boot</EM>; en l'occurrence, il s'agit du <EM>MBR</EM>
(<EM>Master Boot Record</EM>, « enregistrement
principal de démarrage ») du premier disque dur <EM>IDE</EM>. Si vous voulez
faire une disquette <STRONG>LILO</STRONG> il vous suffira de remplacer
<CODE>/dev/hda</CODE> par <CODE>/dev/fd0 :)</CODE> La directive
<CODE>prompt</CODE> demande à <STRONG>LILO</STRONG> de présenter l'invite au
démarrage et d'entamer la procédure après 5 secondes
(<CODE>timeout=50</CODE>). Si vous retirez la directive
<CODE>timeout=</CODE>, <STRONG>LILO</STRONG> attendra jusqu'à ce que vous ayez tapé
quelque chose.
<p>Puis vient une section <CODE>linux</CODE>:
<p><font size="+2"><PRE>
image=/boot/vmlinuz-2.2.9-19mdk
label=linux
root=/dev/hda1
read-only
</PRE></font>
<p>Une section <CODE>linux</CODE> commence par la directive <CODE>image=</CODE>,
suivie par le chemin complet vers un noyau <STRONG>Linux</STRONG> valide. À
l'instar de toute section, elle contient une directive <CODE>label=</CODE>
pour l'identifier de façon unique. La directive <CODE>root=</CODE> dit à
<STRONG>LILO</STRONG> quelle est la partition hébergeant le système de fichiers
racine pour ce système <STRONG>Linux</STRONG>, elle pourra être différente chez
vous. La directive <CODE>read-only</CODE> commande à <STRONG>LILO</STRONG> de
monter ce système de fichiers racine en lecture seule au démarrage: s'il
n'y a pas cette directive, vous aurez un message d'avertissement.
<p>Puis vient la section <STRONG>Windows</STRONG>:
<p><font size="+2"><PRE>
image=/boot/vmlinuz-2.2.9-19mdk
label=linux
root=/dev/hda1
read-only
</PRE></font>
<p>En fait, une section débutant par <CODE>other=</CODE> sert à <STRONG>LILO</STRONG>
pour démarrer tout système d'exploitation autre que <STRONG>Linux</STRONG>:
l'argument de cette directive est l'emplacement du secteur de
<EM>boot</EM> de ce système, et en l'occurrence il s'agit d'un système
<STRONG>Windows</STRONG>. Pour trouver le secteur de <EM>boot</EM>, situé au
début de la partition hébergeant cet autre système, <STRONG>Linux</STRONG> a
également besoin de savoir où se trouve la table des partitions qui lui
permettra de localiser la partition en question, ce que fait la
directive <CODE>table=</CODE>. La directive <CODE>label=</CODE>, comme pour
une section <CODE>linux</CODE>, sert à identifier le système.
<p>Avant de rajouter notre section <CODE>linux</CODE>, nous allons faire d'une
pierre deux coups <CODE>:)</CODE> Composons un message qui s'affichera au
démarrage avant l'apparition du <EM>prompt</EM> <STRONG>LILO</STRONG>, et qui
explique comment utiliser celui-ci:
<p><font size="-3"><PRE>
$ cat >/boot/message <<EOF
> Bienvenue, ici LILO (LInux LOader).
> Tapez sur la touche TAB pour avoir une liste des images de boot .
> Vous disposez de:
> * exp : démarrage de Linux-Mandrake avec votre nouveau noyau
> * linux : noyau d'origine de Linux-Mandrake
> * dos : Windows
> Appuyer sur ENTREE sans entrer le nom d'une image démarrera
> la première image sur la liste, à savoir exp .
> EOF
$
</PRE></font>
<p>Et voilà! Pour que ce message s'affiche au <EM>boot</EM>, il
suffit de rajouter la directive:
<p><font size="+2"><PRE>
message=/boot/message
</PRE></font>
<p>dans la section principale de <CODE>lilo.conf</CODE>. Maintenant, il faut
rajouter la section <STRONG>Linux</STRONG> pour pouvoir démarrer sur le nouveau
noyau. Dans cet exemple, elle sera mise en tête, mais rien ne vous
empêche de la mettre à un autre endroit:
<p><font size="+2"><PRE>
image=/boot/vmlinuz-2.2.13
label=exp
root=/dev/hda1
read-only
</PRE></font>
<p>Si vous avez compilé votre noyau avec le <EM>framebuffer</EM>, vous
voudrez sans doute l'exploiter: dans ce cas, il faut rajouter une
directive à la section qui lui indique en quelle résolution vous voulez
démarrer. La liste des modes est disponible dans le fichier
<CODE>/usr/src/linux/Documentation/fb/vesafb.txt</CODE> (pour le
<EM>framebuffer VESA</EM>! Sinon, reportez-vous au fichier
correspondant). Pour du 800x600 en 32 bits<a name="bodynote26" href="026.html#note26">[26]</a>, le numéro du mode est <CODE>0x315</CODE>, il
faut donc rajouter la directive:
<p><font size="+2"><PRE>
vga=0x315
</PRE></font>
<p>à notre nouvelle section <STRONG>LILO</STRONG>. Voici donc à quoi ressemble notre
<CODE>lilo.conf</CODE> après modification, agrémenté de quelques commentaires
en plus (toutes les lignes commençant par <CODE>#</CODE>), qui seront
ignorés par <STRONG>LILO</STRONG>:
<p><font size="+2"><PRE>
#
# Section principale
#
boot=/dev/hda
map=/boot/map
install=/boot/boot.b
# Notre message d'invite
message=/boot/message
# Présenter le prompt...
prompt
# ... attendre 5 secondes
timeout=50
#
# Notre nouveau noyau: image par défaut
#
image=/boot/vmlinuz-2.2.13
label=exp
root=/dev/hda1
read-only
# Si on utilise le framebuffer VESA:
vga=0x315
#
# Le noyau d'origine
#
image=/boot/vmlinuz-2.2.9-19mdk
label=linux
root=/dev/hda1
read-only
#
# Section Windows
#
other=/dev/hda2
label=dos
table=/dev/hda
</PRE></font>
<p>N'oubliez pas d'adapter le fichier à votre configuration! Le système de
fichiers racine de <STRONG>Linux</STRONG> est ici <CODE>/dev/hda1</CODE> mais il peut
très bien être ailleurs chez vous, et la même chose est valable pour
<STRONG>Windows</STRONG>. Maintenant que le fichier est modifié de façon
appropriée, il faut dire à <STRONG>LILO</STRONG> de changer le secteur de
<EM>boot</EM>:
<p><font size="+2"><PRE>
$ lilo
Added exp *
Added linux
Added dos
$
</PRE></font>
<p>Vous pouvez ainsi compiler autant de noyaux que vous le souhaitez, en
rajoutant autant de sections <STRONG>Linux</STRONG> que nécessaire. Il ne vous
reste plus qu'à redémarrer pour tester votre nouveau noyau.
<H1><font size="+1"><a name="238">Partie III : <STRONG>Annexes, glossaire et index</STRONG></a></font></H1><hr><hr><a href="022.html">Suivant : Installation d'un logiciel libre</a><br><a href="020.html">Précédent : Systèmes de fichiers et points de montage</a><br><a href="../">Retour</a><br><hr>Copyright © 2000 <a href="http://www.mandrakesoft.com/">MandrakeSoft</a></BODY></HTML>
See more files for this project here