Sophie

Sophie

distrib > Mandriva > 10.0-com > i586 > by-pkgid > 664c05250964d29fcf1d0bb310959fbc > files > 38

mandrake-doc-fr-10.0-5.1.100mdk.noarch.rpm

<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>Installation du nouveau noyau</title><meta name="generator" content="DocBook XSL Stylesheets V1.64.0"><link rel="home" href="index.html" title="Manuel de référence"><link rel="up" href="compiling-kernel-chapter.html" title="Chapitre 13. Compilation et mise en place de
nouveaux noyaux"><link rel="previous" href="compiling-module.html" title="Compilation et installation des modules"><link rel="next" href="glossary.html" title="Annexe A. Glossaire"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Installation du nouveau noyau</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="compiling-module.html">Précédent</a> </td><th width="60%" align="center">Chapitre 13. Compilation et mise en place de
nouveaux noyaux</th><td width="20%" align="right"> <a accesskey="n" href="glossary.html">Suivant</a></td></tr></table><hr></div><div class="sect1" lang="fr"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="compiling-install"></a>Installation du nouveau noyau</h2></div></div><div></div></div><p><a name="BId-compiling-kernel-chapter-pa120"></a>Le noyau se situe dans <tt class="filename">arch/i386/boot/bzImage</tt>
   . Le répertoire standard dans
   lequel les noyaux sont installés est <tt class="filename">/boot</tt>.
   Vous devez aussi copier le fichier <tt class="filename">System.map</tt>
   afin d'assurer le bon fonctionnement de certains programmes (tels
   que <span><b class="command">top</b></span> par exemple). Assurez-vous de bien
   nommer ces fichiers du nom de la version du noyau. Supposons que
   votre version du noyau soit <tt class="literal">2.6.3-foo</tt>. L'ordre des commandes que
   vous devrez taper est :</p><a name="BId-compiling-kernel-chapter-sc11"></a><table border="0" bgcolor="#E0E0E0"><tr><td><pre class="screen">
$ cp arch/i386/boot/bzImage /boot/vmlinuz-2.6.3-foo
$ cp System.map /boot/System.map-2.6.3-foo</pre></td></tr></table><p><a name="BId-compiling-kernel-chapter-pa122"></a>Maintenant, il est nécessaire de dire au chargeur de
   démarrage où le nouveau noyau se trouve. Vous avez deux
   possibilités : <span class="application">GRUB</span> ou <span class="application">LILO</span>. Notez que
   <span class="application">Mandrakelinux</span> est configuré pour utiliser <span class="application">LILO</span> par
   défaut.</p><div class="sect2" lang="fr"><div class="titlepage"><div><div><h3 class="title"><a name="compiling-install-lilo"></a>Mise à jour de LILO</h3></div></div><div></div></div><p><a name="BId-compiling-kernel-chapter-pa123"></a>La manière
     la plus simple de mettre à jour <span class="application">LILO</span> est d'utiliser
     <span class="application">drakboot</span> (voir le chapitre Changer vos paramètres de démarrage du
     <i class="citetitle">Guide de démarrage</i>). Ou encore, vous pouvez modifier
     manuellement le fichier de configuration comme expliqué
     ci-dessous.</p><p><a name="BId-compiling-kernel-chapter-pa124"></a>     
            <a class="indexterm" name="BId-compiling-kernel-chapter-it2"></a> 
    Pour <span class="application">LILO</span>, il vous faudra mettre à jour
    <tt class="filename">/etc/lilo.conf</tt>. Évidemment, gardez la
    possibilité de démarrer votre noyau actuel ! Voici à quoi
    ressemble un fichier <tt class="filename">lilo.conf</tt> typique, après
    l'installation de votre distribution <span class="application">Mandrakelinux</span> et avant
    modification :


     <a name="BId-compiling-kernel-chapter-sc12"></a></p><table border="0" bgcolor="#E0E0E0"><tr><td><pre class="screen">
boot=/dev/hda
map=/boot/map
default="linux"
keytable=/boot/es-latin1.klt
prompt
nowarn
timeout=50
message=/boot/message
menu-scheme=wb:bw:wb:bw
image=/boot/vmlinuz
        label="linux"
        root=/dev/hda1
        initrd=/boot/initrd.img
        append="devfs=mount acpi=ht resume=/dev/hda5"
        read-only
other=/dev/fd0
        label="floppy"
        unsafe
</pre></td></tr></table><p>

     Un fichier <tt class="filename">lilo.conf</tt> est composé d'une section
     principale, puis 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 :

<a name="BId-compiling-kernel-chapter-sc13"></a></p><table border="0" bgcolor="#E0E0E0"><tr><td><pre class="screen">
boot=/dev/hda
map=/boot/map
default="linux"
keytable=/boot/es-latin1.klt
prompt
nowarn
timeout=50
message=/boot/message
menu-scheme=wb:bw:wb:bw</pre></td></tr></table><p>


       La directive <tt class="literal">boot=</tt> dit à <span class="application">LILO</span> où il
       doit installer son secteur d'amorçage
       <span class="foreignphrase"><i class="foreignphrase">boot</i></span> ; en l'occurrence, il s'agit
       du <span class="acronym">MBR</span> (<span class="foreignphrase"><i class="foreignphrase">Master Boot Record</i></span>,
       soit l'enregistrement d'amorçage maître) du premier disque
       dur <span class="acronym">IDE</span>. Si vous voulez faire une disquette <span class="application">LILO</span>, il
       vous suffira de remplacer <tt class="filename">/dev/hda</tt> par
       <tt class="filename">/dev/fd0</tt>. La directive
       <tt class="literal">prompt</tt> demande à <span class="application">LILO</span> de présenter
       l'invite au démarrage et d'entamer la procédure après cinq
       secondes (<tt class="literal">timeout=50</tt>). Si vous retirez la
       directive <tt class="literal">timeout=</tt>, <span class="application">LILO</span> attendra
       jusqu'à ce que vous ayez tapé quelque chose.
    </p><p><a name="BId-compiling-kernel-chapter-pa125"></a>Puis vient
      une section <tt class="literal">linux</tt> :

<a name="BId-compiling-kernel-chapter-sc14"></a></p><table border="0" bgcolor="#E0E0E0"><tr><td><pre class="screen">
image=/boot/vmlinuz
        label="linux"
        root=/dev/hda1
        initrd=/boot/initrd.img
        append="devfs=mount acpi=ht resume=/dev/hda5"
        read-only
</pre></td></tr></table><p>


      Une section pour démarrer un noyau <span class="application">GNU/Linux</span> commence par la
      directive <b class="userinput"><tt>image=</tt></b>, suivi par le chemin
      complet vers un noyau <span class="application">GNU/Linux</span> valide. À l'instar de toute
      section, elle contient une directive <tt class="literal">label=</tt>
      pour l'identifier de façon unique, <tt class="literal">linux</tt> dans
      cet exemple. La directive <tt class="literal">root=</tt> dit à
      <span class="application">LILO</span> quelle partition héberge le système de fichiers
      racine pour ce système <span class="application">GNU/Linux</span>. Il est possible que notre
      exemple diffère de votre configuration... La directive
      <tt class="literal">read-only</tt> commande à <span class="application">LILO</span> 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. la ligne <tt class="literal">append</tt> comporte des
      options à passer au noyau.</p><p><a name="BId-compiling-kernel-chapter-pa126"></a>Puis vient la section
      disquette :

    <a name="BId-compiling-kernel-chapter-sc15"></a></p><table border="0" bgcolor="#E0E0E0"><tr><td><pre class="screen">
other=/dev/fd0
        label="floppy"
        unsafe </pre></td></tr></table><p>

    En fait, une section débutant par <tt class="literal">other=</tt> est
    utilisée par <span class="application">LILO</span> pour démarrer tout système d'exploitation
    autre que <span class="application">GNU/Linux</span> : l'argument de cette directive est
    l'emplacement du secteur d'amorçage de ce système, et en
    l'occurrence, il s'agit d'une disquette de démarrage.</p><p><a name="BId-compiling-kernel-chapter-pa127"></a>Il faut désormais
    rajouter la section qui nous permettra de démarrer sur le nouveau
    noyau. Dans cet exemple, elle sera mise au début, mais rien ne
    vous empêche de la mettre à un autre endroit, sauf au milieu d'une
    autre section :</p><a name="BId-compiling-kernel-chapter-sc16"></a><table border="0" bgcolor="#E0E0E0"><tr><td><pre class="screen">
image=/boot/vmlinuz-2.6.3-foo
        label="foo"
        root=/dev/hda1
        read-only
        append="devfs=mount acpi=ht resume=/dev/hda5"
</pre></td></tr></table><p><a name="BId-compiling-kernel-chapter-pa129"></a>Adaptez évidemment cela
    à votre configuration !</p><p><a name="BId-compiling-kernel-chapter-pa132"></a> Voici donc à quoi
      ressemble notre fichier <tt class="filename">lilo.conf</tt> après
      modification, agrémenté de quelques commentaires en plus (toutes
      les lignes commençant par <tt class="literal">#</tt>), qui seront
      ignorées par <span class="application">LILO</span> :</p><a name="BId-compiling-kernel-chapter-sc18"></a><table border="0" bgcolor="#E0E0E0"><tr><td><pre class="screen">
#
# Section principale
#
boot=/dev/hda
map=/boot/map
install=/boot/boot.b
message=/boot/message
# Démarrage par défaut. Mettons-donc notre nouveau noyau :
default="foo"
# Afficher le prompt...
prompt
# ... attendre 5 secondes
timeout=50
#
# Notre nouveau noyau : image par défaut
#
image=/boot/vmlinuz-2.6.3-foo
        label="foo"
        root=/dev/hda1
        read-only
        append="devfs=mount acpi=ht resume=/dev/hda5"
#
# le noyau original
#
image=/boot/vmlinuz
        label="linux"
        root=/dev/hda1
        read-only
        append="devfs=mount acpi=ht resume=/dev/hda5"
#
# La section Disquette
#
other=/dev/floppy
        label="floppy"
        unsafe
</pre></td></tr></table><p><a name="BId-compiling-kernel-chapter-pa133"></a>
	Cela pourrait bien être ce à quoi ressemble votre fichier
	<tt class="filename">lilo.conf</tt>. Cependant, n'oubliez pas
	d'adapter le fichier à votre configuration !</p><p><a name="BId-compiling-kernel-chapter-pa134"></a> Maintenant que le
	fichier est modifié correctement, contrairement à <span class="application">GRUB</span>
	qui gère les modifications automatiquement, il faut dire à <span class="application">LILO</span>
	de changer le secteur de démarrage :</p><a name="BId-compiling-kernel-chapter-sc19"></a><table border="0" bgcolor="#E0E0E0"><tr><td><pre class="screen">
$ lilo
Added foo *
Added linux
Added floppy
$</pre></td></tr></table><p><a name="BId-compiling-kernel-chapter-pa136"></a>Vous
	pouvez ainsi compiler autant de noyaux que vous le souhaitez,
	en rajoutant autant de sections que nécessaire. Vous n'avez
	plus qu'à redémarrer pour tester votre nouveau noyau. Notez
	qu'en cas d'erreur rapportée par <span class="application">LILO</span> lors de
	l'installation de votre nouveau noyau, cela voudra dire que rien n'a
	été modifié sur votre système ; <span class="application">LILO</span> ne modifie votre
	configuration que si aucune erreur n'a été trouvée.</p></div><div class="sect2" lang="fr"><div class="titlepage"><div><div><h3 class="title"><a name="compiling-install-grub"></a>Mise à jour de grub</h3></div></div><div></div></div><p><a name="BId-compiling-kernel-chapter-pa137"></a>Évidemment, il faut conserver la possibilité de
     charger votre ancien noyau ! La manière la plus simple de
     mettre à jour <span class="application">GRUB</span> est d'utiliser <span class="application">drakboot</span> (voir le
     chapitre Changer vos paramètres de démarrage du <i class="citetitle">Guide de démarrage</i>). Mais
     vous pouvez aussi modifier manuellement le fichier de
     configuration comme expliqué ci-dessous.</p><p><a name="BId-compiling-kernel-chapter-pa138"></a>     
            <a class="indexterm" name="BId-compiling-kernel-chapter-it3"></a> Il faut ici
            modifier le fichier
            <tt class="filename">/boot/grub/menu.lst</tt>. Voilà ce à quoi
            ressemble un <tt class="filename">menu.lst</tt> typique, avant
            toute modification :</p><a name="BId-compiling-kernel-chapter-sc20"></a><table border="0" bgcolor="#E0E0E0"><tr><td><pre class="screen">timeout 5
color black/cyan yellow/cyan
i18n (hd0,4)/boot/grub/messages
keytable (hd0,4)/boot/fr-latin1.klt
default 0

title linux
kernel (hd0,4)/boot/vmlinuz root=/dev/hda5  

title failsafe
kernel (hd0,4)/boot/vmlinuz root=/dev/hda5  failsafe 

title Windows
root (hd0,0)
makeactive
chainloader  +1 

title floppy
root (fd0)
chainloader +1</pre></td></tr></table><p><a name="BId-compiling-kernel-chapter-pa140"></a>Ce
     fichier est constitué de deux parties : l'en-tête avec les
     options communes de base (les cinq premières lignes), et les
     sections (ou entrées), chacune correspondant à un noyau
     <span class="application">GNU/Linux</span> différent ou à un autre <span class="acronym">OS</span>(système
     d'exploitation). <tt class="literal">timeout 5</tt> définit les
     secondes dont vous disposez pour choisir un autre noyau ou
     système d'exploitation que celui défini par défaut. Cette valeur
     par défaut est spécifiée par <tt class="literal">default 0</tt> (ce qui
     signifie que la première section définie est donc celle dite
     « <span class="quote">par défaut</span> »). La directive
     <tt class="literal">keytable</tt>, si elle est présente, définit
     l'emplacement de la table de mappe de clavier, ici le clavier est
     configuré en français. Si cette directive n'est pas précisée,
     le clavier sera considéré comme un simple
     <tt class="literal">QWERTY</tt>. <tt class="literal">hd(x,y)</tt> fait
     référence à la partition numéro <tt class="literal">y</tt> sur le
     disque numéro <tt class="literal">x</tt> tels que le <span class="application">BIOS</span> les
     voit.</p><p><a name="BId-compiling-kernel-chapter-pa141"></a>Vient ensuite la
     section des entrées. Il en existe quatre ici :
     <tt class="literal">linux</tt>. <tt class="literal">failsafe</tt>,
     <tt class="literal">windows</tt> et <tt class="literal">floppy</tt>.</p><div class="itemizedlist"><ul type="disc"><li><p><a name="BId-compiling-kernel-chapter-pa142"></a>La section <tt class="literal">linux</tt> commence par indiquer
à <span class="application">GRUB</span> le noyau à charger (<tt class="literal">kernel
hd(0,4)/boot/vmlinuz</tt>), puis les options à passer à ce
noyau. Dans notre cas, <tt class="literal">root=/dev/hda5</tt> indiquera au
noyau que le système de fichier racine est situé sur
<tt class="filename">/dev/hda5</tt>. En fait,
<tt class="filename">/dev/hda5</tt> est l'équivalent de
<tt class="literal">hd(0,4)</tt> pour <span class="application">GRUB</span>, mais rien n'empêche le
noyau de se situer sur une partition différente de celle du système de
fichiers racine ;</p></li><li><p><a name="BId-compiling-kernel-chapter-pa143"></a>L'entrée
	  <tt class="literal">failsafe</tt> ressemble beaucoup à la
	  précédente, sauf que nous passons un argument supplémentaire
	  au noyau (<tt class="literal">failsafe</tt>), qui lui demande de
	  passer en mode « <span class="quote">single</span> » ou mode « <span class="quote">de
	  secours</span> » ; </p></li><li><p><a name="BId-compiling-kernel-chapter-pa144"></a>L'entrée
       <tt class="literal">Windows</tt> demande à <span class="application">GRUB</span> de simplement
       charger le secteur de démarrage de la première partition, qui
       contient probablement le secteur de démarrage de
       <span class="application">Windows</span> ;</p></li><li><p><a name="BId-compiling-kernel-chapter-pa145"></a>La dernière section, <tt class="literal">floppy</tt>,
       démarre simplement votre système depuis la disquette du premier
       lecteur, quel que soit le système d'exploitation qui y réside.
       Ce peut être <span class="application">Windows</span>, voire même un noyau <span class="application">GNU/Linux</span> sur
       disquette ;</p></li></ul></div><div class="note" style="margin-left: 0.5in; margin-right: 0.5in;"><table border="0" summary="Note"><tr><td rowspan="2" align="center" valign="top" width="25"><img alt="[Note]" src="images/note.png"></td><th align="left">Note</th></tr><tr><td colspan="2" align="left" valign="top"><p><a name="BId-compiling-kernel-chapter-pa146"></a>Suivant le
	niveau de sécurité utilisé sur votre système, il se peut que
	certaines des entrées décrites n'existent pas dans votre
	fichier.</p></td></tr></table></div><p><a name="BId-compiling-kernel-chapter-pa147"></a>Allons maintenant droit au but ! Il nous faut
     rajouter une nouvelle section <span class="application">GNU/Linux</span> afin de pouvoir démarrer
     sur notre nouveau noyau. Dans cet exemple, elle sera placée au
     début des entrées, mais rien ne vous empêche de la mettre
     ailleurs :</p><a name="BId-compiling-kernel-chapter-sc21"></a><table border="0" bgcolor="#E0E0E0"><tr><td><pre class="screen">
title foo 
kernel (hd0,4)/boot/vmlinuz-2..3-foo root=/dev/hda5    </pre></td></tr></table><p><a name="BId-compiling-kernel-chapter-pa149"></a>Souvenez-vous d'adapter le fichier à votre
    configuration ! Ici, le système de fichier racine est sur
    <tt class="filename">/dev/hda5</tt>, mais il est sûrement ailleurs sur
    votre système.</p><p><a name="BId-compiling-kernel-chapter-pa150"></a>Et c'est
    tout. Contrairement à <span class="application">LILO</span>, que nous verrons plus loin, il
    n'y a rien d'autre à faire. Redémarrez votre ordinateur et la
    nouvelle entrée que vous venez de définir
    apparaîtra. Sélectionnez-la dans le menu et votre nouveau noyau
    démarrera.</p><p><a name="BId-compiling-kernel-chapter-pa151"></a>
         <a class="indexterm" name="BId-compiling-kernel-chapter-it4"></a>
Si vous avez compilé votre noyau avec le
    <span class="foreignphrase"><i class="foreignphrase">framebuffer</i></span>, vous aurez envie de
    l'exploiter : dans ce cas, rajoutez une directive à la
    section qui lui indique la résolution avec laquelle vous voulez
    démarrer. La liste des modes est disponible dans le fichier
    <tt class="filename">/usr/src/linux/Documentation/fb/vesafb.txt</tt>
    (pour le <span class="foreignphrase"><i class="foreignphrase">framebuffer</i></span> <span class="acronym">VESA</span> !
    Sinon, reportez-vous au fichier correspondant).  Pour du 800x600
    en 32 bits<sup>[<a name="id2570198" href="#ftn.id2570198">39</a>]</sup>, le numéro du mode est <tt class="literal">0x315</tt>,
       il faut donc rajouter la directive :</p><a name="BId-compiling-kernel-chapter-sc22"></a><table border="0" bgcolor="#E0E0E0"><tr><td><pre class="screen">vga=0x315</pre></td></tr></table><p><a name="BId-compiling-kernel-chapter-pa153"></a>Votre entrée
      ressemblera désormais à ceci :</p><a name="BId-compiling-kernel-chapter-sc23"></a><table border="0" bgcolor="#E0E0E0"><tr><td><pre class="screen">
title foo
kernel (hd0,4)/boot/vmlinuz-2.6.3-foo root=/dev/hda5 vga=0x315 </pre></td></tr></table><p><a name="BId-compiling-kernel-chapter-pa155"></a>Pour plus de
     renseignements, consultez les pages d'info de <span class="application">GRUB</span>
     (<span><b class="command">info grub</b></span>).</p></div><div class="footnotes"><br><hr width="100" align="left"><div class="footnote"><p><sup>[<a name="ftn.id2570198" href="#id2570198">39</a>] </sup>8 bits signifie
    2<sup>8</sup> couleurs, soit 256 ; 16 bits
    signifie 2<sup>16</sup> couleurs, soit 64k, soit
    65536 ; en 24 bits comme en 32 bits, la couleur est codée sur
    24 bits, soit 2<sup>24</sup> couleurs possibles,
    soit exactement 16M, ou un peu plus de 16 millions.</p></div></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="compiling-module.html">Précédent</a> </td><td width="20%" align="center"><a accesskey="u" href="compiling-kernel-chapter.html">Niveau supérieur</a></td><td width="40%" align="right"> <a accesskey="n" href="glossary.html">Suivant</a></td></tr><tr><td width="40%" align="left" valign="top">Compilation et installation des modules </td><td width="20%" align="center"><a accesskey="h" href="index.html">Sommaire</a></td><td width="40%" align="right" valign="top"> Annexe A. Glossaire</td></tr></table></div></body></html>