hdc
als hda
laten booten en bios=
gebruikenMet Lilo kan een kernelimage op de ene disk worden geplaatst en de BIOS
worden geïnstrueerd het van een andere disk op te halen.
Ik vind het bijvoorbeeld normaal om Linux op een disk te installeren
die ik aansluit op hdc
(de master disk van de secondaire controller)
en het te booten als een standalone systeem op de primaire IDE controller
van een andere computer. Ik kopieerde de installatiediskette naar een
kleine partitie, om dan chroot uit te voeren in een virtuele
console voor het installeren van hdc
, terwijl ik het systeem
gebruik voor iets anders.
Het bestand lilo.conf dat ik gebruik om Lilo te installeren is:
# Dit bestand moet worden gebruik op een systeem draaiend vanaf /dev/hdc boot = /dev/hdc # overschrijf de MBR van hdc disk = /dev/hdc # vertel hoe hdc eruit zal zien: bios = 0x80 # de bios zal het zien als de eerste disk delay = 0 vga = 0 image = /boot/vmlinux # dit is op /dev/hdc1 root = /dev/hda1 # maar tijdens booten wordt het hda1 label = Linux read-only
Dit configuratiebestand moet worden ingelezen door Lilo draaiend vanaf
/dev/hdc1. De Lilo tabellen die naar de bootsector worden geschreven
(/dev/hdc
) moet verwijzen naar de bestanden in /boot
(thans geïnstalleerd als hdc); dergelijke bestanden zullen worden
benaderd onder hda wanneer deze disk zal worden geboot als een
standalone systeem.
Ik noem dit configuratiebestand /mnt/etc/lilo.conf.hdc
(/mnt
is waar hdc tijdens de installatie wordt gemount.
Ik installeer Lilo door het aanroepen van ``cd /mnt; chroot . sbin/lilo -C
/etc/lilo.conf.hdc
''. Raadpleeg de manpage van
chroot als dit er magisch uitziet.
De ``bios=
'' directive in lilo.conf
wordt gebruikt
om Lilo aan te geven wat de BIOS denkt van je devices.
BIOS aanroepen identificeren diskettestations en harddisks
met een getal: 0x00 en 0x01 selecteren de diskettestations,
0x80 en de volgende getallen selecteren harddisks (oude BIOSsen
kunnen slechts twee disks benaderen). De betekenis
van ``bios = 0x80
in
het eerdere voorbeeldbestand is daarom ``gebruik 0x80 in je BIOS aanroepen
voor /dev/hdc
''.
Deze Lilo directive kan ook van pas komen in andere situaties, bijvoorbeeld wanneer je BIOS in staat is te booten vanaf SCSI-disks in plaats van IDE-disks. Wanneer er zowel IDE als SCSI-apparaten zijn, kan Lilo niet aangeven of 0x80 zal refereren naar de een of de ander, omdat de gebruiker het kan kiezen in de configuratiemenu's van de BIOS, en de BIOS kan niet worden benaderd wanneer Linux draait.
Standaard, verondersteld Lilo dat IDE drives als eerste door de BIOS worden
ingedeeld, maar dit kan worden overschreven door gebruik de maken van
instructies in /etc/lilo.conf
:
disk = /dev/sda bios = 0x80