Lilo staat toe de kernel image op de ene disk te zetten en de BIOS te instrueren
hem van een andere disk te halen. Het is bijvoorbeeld normaal voor mij om Linux
te installeren op een disk die ik aansluit op hdc
(master disk van de
secundaire controller) en hem op te starten als 'standalone' systeem op de
primary IDE controller van een andere computer. Ik heb de installatie floppy
gekopieerd naar een kleine partitie, zodat ik hem chroot kan draaien in
een virtueel console om hdc
te installeren terwijl ik het systeem voor
andere doeleinden gebruik.
Het lilo.conf bestand dat ik gebruikte om Lilo te installeren zag er als volgt uit:
# Dit file moet gebruikt worden voor een systeem dat vanaf /dev/hdc draait boot = /dev/hdc # overschrijf MBR van hdc disk = /dev/hdc # vertel hoe hdc eruit ziet: bios = 0x80 # de bios zal het als de eerste drive zien delay = 0 vga = 0 image = /boot/vmlinux # dit staat op /dev/hdc1 root = /dev/hda1 # maar is tijdens het opstarten hda1 label = Linux read-only
Dit configuratie bestand moet door Lilo gelezen worden die
van /dev/hdc1 gedraaid wordt. De Lilo tabellen die geschreven worden in
de boot sector (/dev/hdc
) moeten refereren aan bestanden in
/boot
(momenteel geinstalleerd als hdc); die files zullen worden
benaderd via hda wanneer deze disk geboot zal worden als standalone systeem.
Ik noem dit configuratie bestand /mnt/etc/lilo.conf.hdc
.
(/mnt
is waar hdc gemount wordt tijdens de installatie) Ik installeer
Lilo door ``cd /mnt; chroot . sbin/lilo -C /etc/lilo.conf.hdc
'' aan
te roepen. Bekijk de manual-page van chroot als dit magisch oogt.
De ``bios=
'' opdracht in lilo.conf
wordt gebruikt om Lilo te
vertellen wat het BIOS over je apparaten weet. BIOS calls identificeren floppy
drives en harddisks met een nummer: 0x00 en 0x01 selecteren de floppy drives,
0x80 en volgend selecteren harddisks (oude BIOSsen kunnen maar twee disks aan).
De betekenis van ``bios = 0x80
'' in het vorige voorbeeld betekent dus
``gebruik 0x80 in je BIOS calls voor /dev/hdc
''.
Deze Lilo opdracht kan handig zijn in andere situaties, bijvoorbeeld wanneer je BIOS van SCSI disks kan opstarten in plaats van IDE disks. Als IDE en SCSI beide aanwezig zijn, kan Lilo niet uitmaken naar welke van de twee 0x80 verwijst omdat de gebruiker dat kan kiezen in de BIOS configuratie menu's en de BIOS niet benaderbaar is terwijl Linux draait.
Standaard gaat Lilo ervan uit dat IDE drives als eerste door de BIOS worden
ingedeeld, maar dit kan worden overschreven door gebruik te maken van ongeveer
de volgende instructies in /etc/lilo.conf
:
disk = /dev/sda bios = 0x80