[ << ]
[ < ]
[ Sommaire ]
[ > ]
[ >> ]
10. Configurer le chargeur de démarrage
Table des matières :
10.a. Faites votre choix
Introduction
Maintenant que votre noyau est configuré et compilé et que les fichiers de
configuration du système sont correctement paramétrés, il est temps d'installer
le programme qui charge le noyau au démarrage de votre machine.
Un tel programme est appelé un chargeur de démarrage
(« bootloader » en anglais).
Vous avez le choix entre GRUB et LILO.
Avant d'installer le chargeur de démarrage, vous devriez
décider si vous allez utiliser le framebuffer. Ce dernier permet d'utiliser la
ligne de commande avec des fonctionnalités graphiques limitées. Vous pouvez par
exemple faire afficher le bel écran de démarrage (le « splash
screen ») de Gentoo.
Facultatif : le framebuffer
Si vous avez configuré votre noyau avec le support pour le framebuffer
(ou si vous avez utilisé la configuration de noyau par défaut de
genkernel) vous pouvez l'activer en ajoutant vga et/ou
video au fichier de configuration de votre chargeur de démarrage.
Vous devez avant tout savoir quel type de dispositif de framebuffer vous
utilisez. Si vous utilisez un noyau adapté par Gentoo (comme
gentoo-sources), vous devez avoir eu la possibilité de choisir
vesafb-tng en tant que type de pilote VESA (VESA driver type),
c'est la configuration par défaut pour les sources du noyau. Si c'est bien le
cas, vous utilisez vesafb-tng et n'avez pas besoin d'ajouter une mention
vga dans votre configuration. Sinon, vous devez utiliser le pilote
vesafb et devrez ajouter la mention vga à votre
configuration.
Le paramètre vga contrôle la résolution et la profondeur des couleurs de
votre écran en framebuffer pour vesafb. Comme indiqué dans le fichier
/usr/src/linux/Documentation/fb/vesafb.txt (qui est installé lors
de l'installation d'un paquet de source du noyau), vous devez lui donner un
numéro VESA correspondant à la résolution et la profondeur de couleur voulues.
Le tableau suivant vous donne la liste des résolutions et profondeurs des
couleurs disponibles et vous donne la valeur du nombre que vous devez indiquer
pour le paramètre vga :
|
640x480 |
800x600 |
1024x768 |
1280x1024 |
256 |
0x301 |
0x303 |
0x305 |
0x307 |
32k |
0x310 |
0x313 |
0x316 |
0x319 |
64k |
0x311 |
0x314 |
0x317 |
0x31A |
16M |
0x312 |
0x315 |
0x318 |
0x31B |
Le paramètre video contrôle les options d'affichage du framebuffer. Il
faut lui indiquer le pilote du framebuffer (vesafb pour un noyau 2.6 ou
vesa pour un noyau 2.4) suivi des paramètres de contrôle que vous voulez
activer. Toutes les variables sont listées dans le fichier
/usr/src/linux/Documentation/fb/vesafb.txt. Voici les options les
plus couramment utilisées :
Contrôle |
Description |
ywrap |
Indique que la carte graphique peut réutiliser sa mémoire (c'est-à-dire
continuer au début quand elle approche de la fin).
|
mtrr:n
|
Configure les registres MTRR où n est
0 - désactivé
1 - pas de cache
2 - « write-back »
3 - « write-combining »
4 - « write-through »
|
mode |
(seulement pour le pilote vesafb-tng)
Configure la résolution, la profondeur de couleurs et le taux de
rafraichissement. Vous pouvez par exemple utiliser 1024x768-32@85
pour une résolution de 1024x768, des couleurs 32 bits et un
rafraichissement de 85 Hz.
|
10.b. Par défaut : GRUB
Comprendre le vocabulaire de GRUB
Pour bien comprendre GRUB, le plus important est de se familiariser avec la
manière qu'a GRUB de désigner les disques durs et les partitions. Votre
partition Linux /dev/hda1 (disque IDE) ou /dev/sda1
(disque SCSI ou SATA) s'appelle généralement (hd0,0) dans GRUB.
Notez les parenthèses nécessaires autour de hd0,0.
GRUB compte les disques durs à partir de zéro plutôt que de « a » et
les partitions à partir de zéro au lieu de un. Notez aussi que GRUB ne compte
que les disques durs et ignore les périphériques tels que les lecteurs ou
graveurs de CD-ROM. Les mêmes principes s'appliquent aux disques SCSI. Ces
derniers reçoivent en général des numéros supérieurs à ceux des disques IDE,
sauf quand le BIOS est configuré pour démarrer sur les disques SCSI. Si votre
machine démarre sur un autre disque que hda, c'est le disque sur
lequel votre ordinateur démarre qui est considéré comme hd0.
En supposant que vous ayez un disque dur /dev/hda, un lecteur de
CD-ROM /dev/hdb, un graveur /dev/hdc, un
second disque dur /dev/hdd et aucun disque SCSI,
/dev/hdd7 s'écrit (hd1,6) dans GRUB. Cela peut
sembler compliqué, et ça l'est, mais, comme vous le verrez, GRUB offre un
système d'aide à la saisie bien pratique si vous avez de nombreux disques durs
avec beaucoup de partitions.
Après cette courte introduction, il est temps d'installer GRUB.
Installation de GRUB
Pour installer GRUB, il suffit d'une simple commande emerge.
Exemple de code 1 : Installer GRUB |
# emerge grub
|
Bien que GRUB soit maintenant installé, vous devez encore écrire son fichier de
configuration pour qu'il puisse démarrer votre noyau et l'installer dans le
secteur de démarrage (MBR) du système. Créez le fichier
/boot/grub/grub.conf :
Exemple de code 2 : Création de /boot/grub/grub.conf |
# nano -w /boot/grub/grub.conf
|
Ci-dessous, vous trouverez deux exemples de fichier grub.conf
basés sur les partitions utilisées dans ce guide. Seul le premier exemple est
pleinement commenté. Utilisez le nom du fichier que vous avez utilisé quand
vous avez copié l'image de votre noyau. La même remarque s'applique à votre
image initrd si vous avez utilisé genkernel.
-
Le premier grub.conf est destiné aux utilisateurs qui n'ont pas
compilé leur noyau avec genkernel.
-
Le deuxième grub.conf est destiné aux utilisateurs qui ont
construit leur noyau avec genkernel.
Note :
Si vous avez utilisé le système de fichiers JFS, vous devez ajouter
« ro » à la ligne kernel pour que JFS puisse récupérer son
journal avant que le système de fichiers ne soit monté en lecture/écriture.
|
Exemple de code 3 : Exemple de grub.conf sans genkernel |
default 0
timeout 30
splashimage=(hd0,0)/boot/grub/splash.xpm.gz
title=Gentoo Linux 2.6.19-r5
root (hd0,0)
kernel /boot/kernel-2.6.19-r5 root=/dev/hda3
title=Gentoo Linux 2.6.19-r5 (rescue)
root (hd0,0)
kernel /boot/kernel-2.6.19-r5 root=/dev/hda3 init=/bin/bb
title=Windows XP
rootnoverify (hd0,5)
makeactive
chainloader +1
|
Exemple de code 4 : Exemple de grub.conf avec genkernel |
default 0
timeout 30
splashimage=(hd0,0)/boot/grub/splash.xpm.gz
title=Gentoo Linux 2.6.19-r5
root (hd0,0)
kernel /boot/kernel-genkernel-x86-2.6.19-gentoo-r5 root=/dev/ram0 init=/linuxrc ramdisk=8192 real_root=/dev/hda3 udev
initrd /boot/initramfs-genkernel-x86-2.6.19-gentoo-r5
title=Windows XP
rootnoverify (hd0,5)
makeactive
chainloader +1
|
Note :
Le paramètre udev à la fin de la ligne « kernel » est
nécessaire à cause d'un bogue dans certaines version de genkernel. Ne l'ajoutez
que si vous utilisez udev. Ce dernier est utilisé par défaut.
|
Si vos partitions sont organisées différemment ou si vous utilisez un autre
noyau, ajustez les commandes en conséquence. Assurez-vous de toujours utiliser
un chemin relatif au point de montage. En d'autres mots,
(hd0,0)/grub/splash.xpm.gz est en fait
/boot/grub/splash.xpm.gz, car (hd0,0) sera monté sur
/boot.
De plus, si vous avez décidé de partitionner votre disque sans partition
/boot séparée, le préfixe /boot est
indispensable. Par contre, Si vous avez créé une partition
/boot séparée, le préfixe /boot est facultatif et
fonctionne grâce à un lien symbolique. En résumé, les exemples ci-dessus
devraient fonctionner avec ou sans partition /boot séparée.
Si vous devez passer des options supplémentaires à votre noyau, ajoutez-les
simplement à la fin de la commande kernel. Nous lui passons déjà une
option (root=/dev/hda3 ou real_root=/dev/hda3), mais vous pouvez
en ajouter (par exemple, les options video ou vga pour le
framebuffer mentionnées plus haut).
Si vous utilisez un noyau de version 2.6.7 ou supérieure et avez placé un
cavalier sur votre disque dur car le BIOS ne gère pas les disques de grande
capacité, alors vous devez ajouter hdx=stroke sur la ligne kernel.
Les utilisateurs de genkernel doivent savoir que leur noyau utilise les
mêmes options que celles utilisées sur le CD d'installation. Par exemple, si
vous avez des périphériques SCSI, vous devez ajouter l'option doscsi.
Enregistrez le fichier grub.conf et quittez votre éditeur. Il
faut encore installer GRUB dans votre secteur de démarrage.
Les développeurs de GRUB conseillent d'utiliser la commande
grub-install. Cependant, si cette méthode échoue, vous devrez
l'installer manuellement.
Veuillez poursuivre avec soit l'installation
automatique de GRUB (par défaut), soit l'installation manuelle de GRUB (alternative).
Par défaut : installation automatique de GRUB
Le script grub-install installe GRUB automatiquement, mais, puisque vous
êtes dans un environnement « chroot », vous devez créer le fichier
/etc/mtab à jour. Ce dernier contient la liste des systèmes de
fichiers qui sont montés. Heureusement, il suffit d'utiliser une copie de
/proc/mounts en évitant la ligne rootfs (nécessaire si vous
n'avez pas de partition /boot séparée). La commande suivante
fonctionne avec ou sans partition /boot séparée :
Exemple de code 5 : Créer /etc/mtab |
# grep -v rootfs /proc/mounts > /etc/mtab
|
Ensuite, vous pouvez lancer le script grub-install :
Exemple de code 6 : Exécuter grub-install |
# grub-install --no-floppy /dev/hda
|
Pour plus d'informations à propos de GRUB, vous pouvez consulter la FAQ de GRUB ou le
manuel de GRUB (tous
deux en anglais).
Poursuivez avec le redémarrage du système.
Alternative : installation manuelle de GRUB
Pour configurer GRUB, tapez grub. Vous recevrez l'invite GRUB
grub> sur la ligne de commande. Vous devez ensuite entrer les
bonnes commandes pour installer le secteur de démarrage sur votre disque dur.
Exemple de code 7 : Lancer le shell GRUB |
# grub --no-floppy
|
Note :
Si votre système n'a pas de lecteur de disquettes, ajoutez l'option
--no-floppy à la commande ci-dessus pour empêcher grub de tenter
d'accéder au lecteur inexistant.
|
Dans notre exemple, nous voulons installer GRUB pour qu'il trouve l'information
dont il a besoin sur la partition de démarrage /dev/hda1. Nous voulons aussi installer GRUB dans le secteur MBR
(N.D.T. : « Master Boot Record », code initialement chargé par
le BIOS au démarrage du PC) pour que GRUB soit lancé dès le démarrage de la
machine. Évidemment, si vous ne suivez pas exactement notre exemple, vous
devez modifier les commandes en conséquence.
Le shell de GRUB contient un mécanisme d'aide à la saisie. Par exemple, si vous
tapez « root ( » suivi de la touche <TAB>, GRUB affichera
une liste des périphériques possibles (hd0 par exemple). Si vous
tapez « root (hd0, » suivi de la touche <TAB>, GRUB
affichera une liste des partitions disponibles (hd0,0 par exemple).
Grâce à ce système, installer GRUB devient relativement facile.
Allons-y, installons GRUB.
Exemple de code 8 : Installer GRUB sur le MBR |
grub> root (hd0,0)
grub> setup (hd0)
grub> quit
|
Note :
Si vous voulez installer GRUB dans une partition au lieu du MBR, vous devez
indiquer la bonne partition à la commande setup. Par exemple, pour
installer GRUB dans /dev/hda3, la commande devient setup
(hd0,2). Peu d'utilisateurs voudront faire cela.
|
Note :
Quand vous recompilerez votre noyau, vous pourrez utiliser make install
au lieu de copier les fichiers manuellement. Cette commande copiera les
fichiers et mettra GRUB à jour pour vous.
|
Pour plus d'informations à propos de GRUB, vous pouvez consulter la FAQ de GRUB ou le
manuel de GRUB (tous
deux en anglais).
Poursuivez avec le redémarrage du système.
10.c. Alternative : LILO
Installer LILO
LILO (LInux LOader, ou chargeur Linux) est le chargeur historique de Linux, mais
il lui manque des fonctionnalités présentes dans GRUB, ce qui explique que GRUB
est en train de prendre le dessus. La raison pour laquelle LILO est encore
utilisé est que GRUB ne fonctionne pas sur certains systèmes, alors que LILO
fonctionne sur ces mêmes systèmes.
Évidemment, beaucoup d'utilisateurs connaissent mieux LILO que GRUB et veulent
le conserver. De toute façon, Gentoo supporte les deux, et vous avez
apparemment choisi LILO.
Installer LILO est enfantin ; utilisez emerge.
Exemple de code 9 : Installer LILO |
# emerge lilo
|
Configurer LILO
Pour configurer LILO, vous devez créer le fichier /etc/lilo.conf.
Lancez votre éditeur préféré (notre exemple utilise nano) et créez le
fichier.
Exemple de code 10 : Créer /etc/lilo.conf |
# nano -w /etc/lilo.conf
|
Nous vous avions demandé de mémoriser le nom de l'image de votre noyau.
Ci-dessous, nous l'utilisons ainsi que les partitions telles que créées plus
tôt dans ce manuel. Il convient de différencier deux cas :
-
Les noyaux compilés sans genkernel.
-
Les noyaux compilés avec genkernel.
Utilisez le nom du fichier que vous avez utilisé quand vous avez copié l'image
de votre noyau. La même remarque s'applique à votre image initrd si vous avez
utilisé genkernel.
Note :
Si vous avez utilisé le système de fichiers JFS, vous devez ajouter
« ro » à la ligne kernel pour que JFS puisse récupérer son
journal avant que le système de fichiers ne soit monté en lecture/écriture.
|
Exemple de code 11 : Exemple de /etc/lilo.conf |
boot=/dev/hda
prompt
timeout=50
default=gentoo
image=/boot/kernel-2.6.19-gentoo-r5
label=gentoo
read-only
root=/dev/hda3
image=/boot/kernel-2.6.19-gentoo-r5
label=gentoo.rescue
read-only
root=/dev/hda3
append="init=/bin/bb"
image=/boot/kernel-genkernel-x86-2.6.19-gentoo-r5
label=gentoo
read-only
root=/dev/ram0
append="init=/linuxrc ramdisk=8192 real_root=/dev/hda3 udev"
initrd=/boot/initramfs-genkernel-x86-2.6.19-gentoo-r5
other=/dev/hda6
label=windows
|
Note :
Le paramètre udev à la fin de la ligne « kernel » est
nécessaire à cause d'un bogue dans certaines version de genkernel. Ne l'ajoutez
que si vous utilisez udev. Ce dernier est utilisé par défaut.
|
Note :
Si vos partitions sont agencées d'une autre façon ou si vous utilisez un autre
noyau, ajustez les valeurs en conséquence.
|
Si vous devez passer d'autres options à votre noyau, ajoutez une commande
append dans la section ad hoc. Par exemple, pour passer
video pour activer le framebuffer, faites :
Exemple de code 12 : Utiliser append pour passer une option au noyau |
image=/boot/kernel-2.6.19-gentoo-r5
label=gentoo
read-only
root=/dev/hda3
append="video=vesafb:mtrr,ywrap,1024x768-32@85"
|
Si vous utilisez un noyau de version 2.6.7 ou supérieure et avez placé un
cavalier sur votre disque dur car le BIOS ne gère pas les disques de grande
capacité, alors vous devez ajouter append="hdx=stroke".
Les utilisateurs de genkernel doivent savoir que leur noyau utilise les
mêmes options de démarrage que le CD d'installation. Par exemple, si vous avez
des périphériques SCSI, vous devez passer l'option doscsi.
Enregistrez le fichier et quittez votre éditeur. Pour terminer, vous devez
lancer la commande /sbin/lilo pour que LILO prenne votre fichier
/etc/lilo.conf en compte (c'est-à-dire pour l'installer sur le
disque). Notez que vous devrez exécuter /sbin/lilo chaque fois que vous
installez un noyau.
Exemple de code 13 : Terminer l'installation de LILO |
# /sbin/lilo
|
Veuillez consulter la page Wikipedia de LILO pour répondre
à vos éventuelles questions à son propos.
Poursuivez avec Redémarrage du système.
10.d. Redémarrage du système
Sortez de l'environnement « chroot » et démontez toutes les partitions
montées. Ensuite, tapez la commande magique tant attendue : reboot.
Exemple de code 14 : Sortie du « chroot », démontage des partitions et redémarrage |
# exit
cdimage ~# cd
cdimage ~# umount /mnt/gentoo/boot /mnt/gentoo/dev /mnt/gentoo/proc /mnt/gentoo
cdimage ~# reboot
|
Bien entendu, n'oubliez pas de retirer le CD du lecteur car sinon le système
amorcera le CD au lieu de démarrer sur votre nouveau système Gentoo.
Une fois le système Gentoo démarré, concluez avec Finaliser votre installation.
[ << ]
[ < ]
[ Sommaire ]
[ > ]
[ >> ]
Ce document est protégé par la licence Creative
Commons : Paternité - Partage des Conditions Initiales à
l'Identique 2.5.
|