Next Previous Contents

5. hdc als hda laten booten en bios= gebruiken

Met 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


Next Previous Contents