hdc
pour booter en tant que hda
enutilisant bios=
Lilo permet de mapper l'image du noyau sur un disque et de dire au
BIOS d'aller la chercher sur un autre disque. Par exemple, j'ai
l'habitude d'installer Linux sur un disque connecté sur hdc
(disque maître du second contrôleur IDE) et d'y booter comme système
unique sur le contrôleur primaire d'un autre ordinateur. J'ai copié la
disquette d'installations sur une petite partition, je peut donc faire
un chroot depuis une console virtuelle pour installer
hdc
quand j'utilise le système pour faire autre chose.
Voilà le lilo.conf
que j'utilise pour installer Lilo :
# Ce fichier doit être utilisé sur un système fonctionnant à partir
# de /dev/hdc
boot = /dev/hdc # on réécrit le MBR d'hdc
disk = /dev/hdc # On lui dit qui sera hdc
bios = 0x80 # Et le BIOS la verra en tant que premier disque
delay = 0
vga = 0
image = /boot/vmlinux # c'est sur /dev/hdc1
root = /dev/hda1 # Mais au boot, ça sera hda1
label = Linux
read-only
Ce fichier de configuration doit être lu par Lilo depuis
/dev/hdc1
. La table de Lilo qui est écrite sur le secteur de
boot (/dev/hdc
) doit se référer à un fichier dans /boot/
(en ce moment hdc
). Ce fichier sera accédé en tant que
hda
quand il bootera comme seul système.
J'ai appelé ce fichier /mnt/etc/lilo.conf.hdc
(/mnt
est l'endroit où hdc est monté durant l'installation. J'installe Lilo
en lançant "cd /mnt; chroot . sbin/lilo -C
/etc/lilo.conf.hdc
". Allez lire la page man de chroot si
vous trouvez ça magique.
Le "bios=
" du lilo.conf
est utilisé pour dire à
Lilo ce que le BIOS pense de vos périphériques. Le BIOS identifie les
lecteurs de disquettes et les disques durs par des numéros : 0x00 et
0x01 sélectionnent les disquettes, 0x80 et suivants, les disques durs
(Les vieux BIOS ne peuvent accéder qu'à deux disques). La
signification du "bios = 0x80
" dans l'exemple précédent est de
dire à Lilo "utilise 0x80 dans tes appels BIOS pour /dev/hdc
".
Cette directive Lilo peut être très pratique dans d'autres situations, par exemple, quand votre BIOS est capable de booter depuis un disque SCSI à la place d'un disque IDE. Quand des périphériques IDE et SCSI sont présents, LILO ne sait pas à qui appartient 0x80, car l'utilisateur est capable de le changer depuis les menus du BIOS, et le BIOS ne peut pas être accédé quand Linux est lancé.
Par défaut, Lilo suppose que les disques IDE sont mappés en premier
par le BIOS, mais il est possible de lui spécifier le contraire en
utilisant ces instructions dans /etc/lilo.conf
:
disk = /dev/sda
bios = 0x80