Verder Terug Inhoud

4. "hdc" als "hda" Laten Booten en "bios=" Gebruiken

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

Verder Terug Inhoud