Mandrake Linux 8.2: Manuel de référence | ||
---|---|---|
Page précédente | Chapitre 14. Compilation et mise en place de nouveaux noyaux | Page suivante |
Le noyau se situe dans arch/i386/boot/bzImage (ou zImage si vous avez choisi make zImage en place et lieu). Le répertoire standard dans lequel les noyaux sont installés est /boot. Vous devez aussi copier le fichier System.map afin d'assurer le bon fonctionnement de certains programmes (tels que top par exemple). Assurez-vous de bien nommer ces fichiers du nom de la version du noyau. Supposons que votre version du noyau est 2.4.10-foo. L'ordre des commandes que vous devrez taper est :
$ cp arch/i386/boot/bzImage /boot/vmlinux-2.4.10-foo $ cp System.map /boot/System.map-2.4.10-foo |
Maintenant, il est nécessaire de dire au chargeur de démarrage où le nouveau noyau se trouve. Vous avez deux possibilités : grub ou LILO. Notez que Mandrake Linux est installé avec LILO par défaut.
Évidemment, il faut conserver la possibilité de charger votre ancien noyau ! La manière la plus simple de mettre à jour grub est d'utiliser drakboot (voir le chapitre Changer vos paramètres de démarrage du Guide de l'utilisateur). Ou encore, vous pouvez modifier manuellement le fichier de configuration comme expliqué ci-dessous.
Il faut ici modifier le fichier /boot/grub/menu.lst. Voilà ce à quoi ressemble un menu.lst typique, avant toute modification :
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 |
Vient ensuite la section des entrées. Il en existe quatre ici : linux. failsafe, windows et floppy.
La section linux commence par indiquer à grub le noyau à charger (kernel hd(0,4)/boot/vmlinuz), puis les options à passer à ce noyau. Dans notre cas, root=/dev/hda5 indiquera au noyau que le système de fichier racine est situé sur /dev/hda5. En fait, /dev/hda5 est l'équivalent de hd(0,4) pour grub, mais rien n'empêche le noyau de se situer sur une partition différente de celle du système de fichiers racine.
L'entrée failsafe ressemble beaucoup à la précédente, sauf que nous passons un argument supplémentaire au noyau (failsafe), qui lui demande de passer en mode « single » ou mode « de secours ».
L'entrée Windows demande à grub de simplement charger le secteur de démarrage de la première partition, qui contient probablement le secteur de démarrage de windows.
La dernière section, floppy, 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 Windows, voir même un noyau GNU/Linux sur disquette.
![]() | 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. |
Allons maintenant droit au but ! Il nous faut rajouter une nouvelle section GNU/Linux 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 :
title foo kernel (hd0,4)/boot/vmlinux-2.4.10-foo root=/dev/hda5 |
Souvenez-vous d'adapter le fichier à votre configuration ! Le système de fichier root GNU/Linux est ici sur /dev/hda5, mais il est sûrement ailleurs sur votre système. Votre ordinateur est prêt à redémarrer. Profitez bien de votre noyau tout neuf !
Et c'est tout. Contrairement à LILO, 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-là dans le menu et votre nouveau noyau démarrera.
Si vous avez compilé votre noyau avec le frame buffer, 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 /usr/src/linux/Documentation/fb/vesafb.txt (pour le frame buffer VESA ! Sinon, reportez-vous au fichier correspondant). Pour du 800x600 en 32 bits [1], le numéro du mode est 0x315, il faut donc rajouter la directive :
vga=0x315 |
title foo kernel (hd0,4)/boot/vmlinux-2.4.10-foo root=/dev/hda5 vga=0x315 |
La manière la plus simple de mettre à jour LILO est d'utiliser drakboot (voir le chapitre Changer vos paramètres de démarrage du Guide de l'utilisateur). Ou encore, vous pouvez modifier manuellement le fichier de configuration comme expliqué ci-dessous.
Pour LILO, il vous faudra mettre à jour /etc/lilo.conf. Évidemment, gardez la possibilité de démarrer votre noyau actuel ! Voici à quoi ressemble un fichier lilo.conf typique, après l'installation de votre distribution Mandrake Linux et avant modification :
boot=/dev/hda map=/boot/map install=/boot/boot.b vga=normal default=linux keytable=/boot/fr-latin1.klt lba32 prompt timeout=50 message=/boot/message image=/boot/vmlinuz-2.4.8-17mdk label=linux root=/dev/hda1 read-only other=/dev/hda2 label=dos table=/dev/hda |
boot=/dev/hda map=/boot/map install=/boot/boot.b vga=normal default=linux keytable=/boot/fr-latin1.klt lba32 prompt timeout=50 message=/boot/message |
Puis vient une section linux :
image=/boot/vmlinuz-2.4.8-17mdk label=linux root=/dev/hda1 read-only |
Puis vient la section windows :
other=/dev/hda2 label=dos table=/dev/hda |
Maintenant, rajouter la section GNU/Linux vous permettra de 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, sauf au milieu d'une autre section :
image=/boot/vmlinux-2.4.10-foo label=foo root=/dev/hda1 read-only |
Adaptez évidemment cela à votre configuration ! C'est à dessein que nous avons pris une situation différente de celle de grub ci-dessus...
Si vous avez compilé votre noyau avec le frame buffer, consultez le paragraphe à ce sujet ci-dessus dans la section au sujet de grub. La différence est que désormais, l'option est sur une ligne à part :
vga=0x315 |
Voici donc à quoi ressemble notre fichier lilo.conf après modification, agrémenté de quelques commentaires en plus (toutes les lignes commençant par #), qui seront ignorés par LILO :
# # Section principale # boot=/dev/hda map=/boot/map install=/boot/boot.b # Au démarrage, nous voulons fonctionner en mode VGA normal. # Le frame buffer basculera dans cette résolution # si nous utilisons : vga=normal # Notre message de démarrage... message=/boot/message # Qu'est-ce qui doit être démarré par défaut. # Mettons notre propre noyau par défaut : default=foo # Afficher le prompt... prompt # ... attendre 5 secondes timeout=50 # # Notre nouveau noyau : image par défaut # image=/boot/vmlinux-2.4.10-foo label=foo root=/dev/hda1 read-only # Si nous utilisons le frame buffer VESA : vga=0x315 # # le noyau original # image=/boot/vmlinuz-2.4.8-17mdk label=linux root=/dev/hda1 read-only # # La section Windows # other=/dev/hda2 label=dos table=/dev/hda |
Maintenant que le fichier est modifié correctement, il faut dire à LILO de changer le secteur de démarrage :
$ lilo Added foo * Added linux Added dos $ |
[1] | 8 bits signifie (28) couleurs, soit 256 ; 16 bits signifie (216) couleurs, soit 64k, soit 65536 ; en 24 bits comme en 32 bits, la couleur est codée sur 24 bits, soit (224) couleurs possibles, soit exactement 16M, ou un peu plus de 16 millions. |
Page précédente | Début | Page suivante |
Compilation et installation des modules | Remonter | Faire face aux problèmes |