Lilo pour les heureux possesseurs de disques de grande capacité
Qing Liu (qliu@club-internet.fr)
Janvier 2001. Remise en page: le 7 mai 2002.
1. Le passé
Traditionnellement, au démarrage du PC, le BIOS d'un PC ne peut
pas accéder aux données du disque dur qui sont situées au-delà
du 1024ième cylindre (pour un DD en mode LBA, les premiers 1024 cylindres peuvent
contenir environ 8 Go de données). Si votre noyau (vous avez compris
qu'on parle de Linux :)) se trouve physiquement dans la zone au-delà du
1024ième cylindre, il ne pourra pas être chargé au boot (noter que le
problème est le même pour Windows). Il faut donc user des stratagèmes pour
contourner cet obstable, par exemple utiliser loadlin; booter avec une
disquette; créer une partition au début du disque dur pour acceuillir
/boot; ou encore virer les autres OS ;).
2. Le présent: la norme EBDA (Extended BIOS Data Area)
Heureusement qu'avec l'arrivée des disques durs de grande capacité
(enfin, c'est relatif à l'instant où ce texte est pondu :)), l'antique
BIOS subit quelques petites évolutions, avec notamment la capacité de
s'affranchir de la mythique barrière du 1024ième cylindre. Et ce depuis
deux ans, paraît-il. Les dernières versions de lilo (à partir de 21.3)
exploitent cette capacité et permettent de booter un noyau
qui se situe n'importe où sur le disque dur.
3. Ce dont vous avez besoin
Côté matériel, il faut que le BIOS supporte l'EBDA. Côté logiciel,
il faut une version de lilo supérieure à 21.3, et l'option
lba32 dans
lilo.conf.
4. Mais comment être sûr que votre BIOS intègre EBDA ?
Le package Lilo-21.x vient avec un utilitaire
disk.com (sous Dos)
qui permet de tester le support d'EBDA. Si vous n'avez pas Dos, vous pouvez
fabriquer une disquette de boot avec la commande
# cat bootsect.b disk.com | dd of=/dev/fd0 bs=512
Je mets ici à disposition les fichiers nécessaires
disk.com
et
bootsect.b
Attention : l'utilisation de cet utilitaire est à vos risques et périls.
Lire attentivement
README.
5. Installation de lilo
Si vous avez une version de lilo supérieure à 21.3 (
lilo -V),
vous pouvez passer à l'étape suivante. Sinon, procurez-vous une
version récente de lilo sur
ftp://ftp.lip6.fr/pub/linux/sunsite/system/boot/lilo et compilez-le :
$ cd /var/tmp
$ tar xvfz /chemin/lilo-*.tar.gz
$ cd lilo-*
$ make
$ su -c 'make install'
6. Configuration de lilo
Pour activer le mode EBDA, il suffit d'inserrer dans
/etc/lilo.conf ligne
lba32
Par exemple :
boot=/dev/hda
prompt
timeout=150
lba32
compact
Et d'exécuter la commande
/sbin/lilo. N'oublions pas que cette
commande est *
nécessaire* chaque
fois pour tenir compte des modifications de lilo.conf
(enfin, pour la plupart des options, mais ne pinaillons pas :)).