| FAQ/HOWTO |
|---|
| 04/01/2006 : Comment utiliser urpmi --parallel |
| 09/03/2005 : Comment installer plusieurs distributions |
| 07/07/2004 : Introduction à Linux |
| 07/07/2004 : Gestion des logiciels ( tar.gz, rpm et urpmi ) |
| 07/07/2004 : Comment installer le pilote NForce ? |
Il arrive souvent que l'on veuille installer 2 distributions Linux en
parallèle et pouvoir booter sur l'un et l'autre.
Plusieurs solutions existent, et parmi ces solutions, il y a le
chain-loading.
Le Chain Loading consiste à chaîner les boot loader. Ainsi le chargeur de boot
de la première distribution ( li/grub ) chargera le chargeur de boot de la
2ème distribution ( lilo/grub ) lorsque l'on voudra démarrer la deuxième
distribution.
Comment procéder ? il faut respecter plusieurs étapes. La 1ère distribution
que l'on va installer va devenir la distribution principale. Les autres seront
appelées des distribution secondaires.
Note : Toutes les modifications de fichiers système et/ou les commandes devront être lancées en tant qu'administrateur du système ( root ).
Note 2 : On va se baser sur le schéma de
partitionnement suivant :
distribution principale : / = /dev/hda2 , /home = /dev/hda5 , swap
= /dev/hda7
distribution principale : / = /dev/hda3 , /home = /dev/hda6 , swap
= /dev/hda7
Note 3 : Il peut se révéler très intéressant et très pratique d'utiliser la même partition pour le /home de la distribution principale et le /home de la distribution secondaire.
Tout d'abord on installe la distribution principale. C'est le chargeur de
boot de celle-ci qui permettra de lancer les chargeurs de boot des
distributions secondaires.
Pour cela, il faut installer le chargeur de boot dans la MBR ( Master Boot Record ) du disque de
démarrage. Souvent ce sera pour un système IDE le Primary Master qui s'apelle
sous Linux hda.
Normalement lors de l'installation de votre distribution vous devriez
pouvoir choisir facilement le fait d'installer lilo dans la MBR. Cependant
dans le cas où vous voudriez le faire manuellement, il vous suffit d'éditer le
fichier /etc/lilo.conf et de modifier l'option boot. Cette option
définie l'endroit où lilo doit s'installer. Dans notre cas, nous supposons que
hda est notre disque de boot et donc il faudra avoir boot=/dev/hda pour
que lilo s'installe dans la MBR. Voici un extrait d'un lilo.conf avec l'option
boot correctement positionnée :
boot=/dev/hda
map=/boot/map
prompt
nowarn
timeout=100
keytable=/boot/fr-latin1.klt
message=/boot/message
image=/boot/vmlinuz
label="linux"
root=/dev/hda2
initrd=/boot/initrd.img
append="resume=/dev/hda7 hdc=ide-cd splash=silent"
vga=788
read-only
Ensuite pour valider les changement, il ne faut pas oublier de lancer la
commande lilo :
/sbin/lilo
Pour installer GRUB dans la MBR, il suffira de lancer la commande
suivante :
grub-install /dev/hda
On peut aussi utiliser la notation native de grub ce qui fait que la commande
précédente devient :
grub-install '(hd0)'
Après avoir installée notre distribution principale et vérifier qu'elle bootait correctement, nous allons installer la distribution secondaire. En fait là où il faut faire attention, c'est le fait qu'il ne faut pas installer le chargeur de boot de la distribution secondaire dans la MBR !!!. Il faut installer le chargeur de boot dans une partition. Souvent on choisira la partition / ou /boot de la distribution secondaire. Dans notre cas nous choisirons la partition / ( /dev/hda3 ).
Lors de l'installation, on peut normalement décider de l'endroit où l'on
veut installer lilo. Sinon on peut modifier manuellement le
fichier /etc/lilo.conf afin que lilo s'installe sur une partition. L'option
boot devra être positionnée correctement, dans notre cas cela donne
boot=/dev/hda3. Voici un extrait du lilo.conf de la distribution
secondaire :
boot=/dev/hda3
map=/boot/map
prompt
nowarn
timeout=100
keytable=/boot/fr-latin1.klt
message=/boot/message
image=/boot/vmlinuz
label="linux_sec"
root=/dev/hda3
initrd=/boot/initrd.img
append="resume=/dev/hda7 hdc=ide-cd splash=silent"
vga=788
read-only
Ensuite pour valider les changement, il ne faut pas oublier de lancer la
commande lilo :
/sbin/lilo
Pour installer GRUB dans la partition / de la distribution secondaire, il
suffira de lancer la commande suivante :
grub-install /dev/hda3
On peut aussi utiliser la notation native de grub ce qui fait que la commande
précédente devient :
grub-install '(hd0,2)'
Après avoir démarrer avec la distribution principale, on va ajouter les entrées nécessaires dans le fichier de configuration des chargeurs de boot afin de chainloader les autres chargeurs de boot.
On va donc ajouter une entrée dans /etc/lilo.conf de type other,
pointant vers le / de la secondaire ( /dev/hda3 ), qui permettra de charger
lorsqu'on la sélectionnera le chargeur de boot de la distribution secondaire.
Voic l'entrée que l'on ajoutera :
other=/dev/hda3
label="distro_2"
Ensuite pour valider les changement, il ne faut pas oublier de lancer la
commande lilo :
/sbin/lilo
De même pour grub, on va modifier le ficher /boot/grub/menu.lst et ajouter
l'entrée suivante :
title Distro secondaire
root (hd0,2)
chainloader +1
les changements seront pris automatiquement en compte par GRUB.
Voilà ! Normalement au prochain démarrage, lorsque vous sélectionnerez l'entrée correspondant à la distribution secondaire, vous tomberez sur son chargeur de boot et celui-ci vous permettra de la démarrer.