Verder Terug Inhoud

2. Achtergrond Informatie en Standaard Installatie

Als Lilo het systeem opstart, gebruikt het BIOS calls om de Linux kernel van de disk (IDE drive, floppy of wat dan ook) te laden. Daarom moet de kernel staan op een plek waar het BIOS bij kan.

Tijdens het opstarten is Lilo niet in staat om filesystem gegevens te lezen en iedere padnaam die in /etc/lilo.conf staat wordt gevonden tijdens het installeren (als je /sbin/lilo draait). Tijdens het installeren bouwt het programma de tabellen waarin de sectoren staan die gebruikt worden door de bestanden die het operating systeem laden. Een consequentie hiervan is, dat al deze bestanden in een partitie moeten staan die toegankelijk is voor het BIOS (de bestanden staan meestal in de /boot directory, wat betekent dat alleen de root partitie van je Linux systeem door het BIOS benaderbaar moet zijn).

Een andere consequentie van het BIOS gebaseerd zijn is dat je de lader moet her-installeren (d.w.z, /sbin/lilo draaien) telkens als je de Lilo setup wijzigt. Telkens als je een nieuwe kernel compileert en hem over je oude image heen zet, moet je Lilo opnieuw installeren.

2.1 Waar Moet Ik Lilo Installeren?

De boot= opdracht in /etc/lilo.conf vertelt Lilo waar het de primaire boot loader moet neerzetten. In het algemeen kun je hier het master boot record (/dev/hda) of de root partitie van je Linux installatie (is normaal gesproken /dev/hda1) aangeven.

Als je nog een ander operating systeem op je harde schijf hebt geinstalleerd, kun je Lilo beter in de root partitie zetten in plaats van het MBR. In dat geval moet je de partitie als ``bootable'' markeren door het ``a'' commando van fdisk of het ``b'' commando van cfdisk te gebruiken. Als je het master boot record niet overschrijft is het makkelijker om Linux en Lilo te de-installeren als dat nodig is.

2.2 Hoe Moet Ik mijn IDE Harddisks Configureren?

Persoonlijk gebruik ik geen LBA of LARGE instellingen in het BIOS (maar ik draai enkel Linux); het is een enorm knullige oplossing, veroorzaakt door ontwerpfouten in de PC wereld. Hierdoor moet de kernel in de eerste 1024 cylinders staan, maar dat is geen probleem zolang je je harddisks partitioneert en je de root partitie klein houdt (wat je toch al moet doen).

Als je harddisk al een ander operating systeem bevat kun je de BIOS instellingen niet aanpassen, anders draait het oude systeem niet meer. Alle recente Lilo distributies kunnen met LBA en LARGE disk instellingen overweg.

Merk op dat de "linear" variabele in /etc/lilo.conf kan helpen tegen afmetings problemen. De variabele instrueert Lilo om lineaire sector adressen te gebruiken in plaats van sector/head/cylinder tupels. De conversie naar 3D adressen is vertraagd naar run-time en maakt zodoende de setup beter bestand tegen afmetings problemen.

Als je meer dan een harddisk hebt en sommigen hiervan alleen door Linux gebruikt worden, maar niet betrokken zijn bij het boot proces, kan je je BIOS vertellen dat ze niet geinstalleerd zijn. Je systeem zal sneller opstarten en Linux zal de disks zelf heel snel detecteren. Ik wissel vaak disks in mijn computers, maar kom nooit aan de BIOS configuratie.

2.3 Hoe Kan Ik Kiezen Tijdens het Opstarten?

Als je de Lilo prompt ziet, kan je door op de <Tab> toets te drukken een lijst met mogelijke keuzes te voorschijn halen. Als Lilo niet geconfigureerd is om interactief te zijn, moet je de <Alt> of de <Shift> toets ingedrukt houden voordat de ``LILO'' melding verschijnt.

Als je kiest om een Linux kernel op te starten, kun je command-line argumenten toevoegen achter de naam van het systeem dat je kiest. De kernel accepteert vele command-line argumenten. Alle argumenten worden opgesomt in de ``BootPrompt-HOWTO'' van Paul Gortmaker en ik zal ze hier niet herhalen. Een paar command-line argumenten zijn echter bijzonder belangrijk en zullen hier beschreven worden:

2.4 Hoe Kan Ik Lilo Verwijderen?

Als Lilo de boot sector overschrijft, bewaart het een kopie in /boot/boot.xxyy, waar xxyy de major en minor getallen van het device zijn in hexadecimale notatie. Je kunt de major en minor getallen van je disk of partitie zien door ``ls -l /dev/device'' te draaien. Bijvoorbeeld, de eerste sector van /dev/hda (major 3, minor 0) zal bewaard worden in /boot/boot.0300, als je Lilo installeert op /dev/fd0 wordt /boot/boot.0200 aangemaakt en als je Lilo op /dev/sdb3 (major 8, minor 19) installeert, wordt /boot/boot.0819 aangemaakt. Merk op dat Lilo het bestand niet aan zal maken als er al een is. Je hoeft je dus geen zorgen te maken over de reserve kopie als je Lilo her-installeert (bijvoorbeeld nadat je een nieuwe kernel hebt gecompileerd). De reserve kopieen in /boot/ zijn altijd een momentopname van de situatie voor de installatie van Lilo.

Als je ooit Lilo wilt verwijderen (bijvoorbeeld in het jammerlijke geval dat je Linux wilt de-installeren), dan hoef je alleen de originele boot sector te herstellen. Als Lilo geinstalleerd is op /dev/hda, dan hoef je alleen ``dd if=/boot/boot.0300 of=/dev/hda bs=446 count=1'' te doen (Ik doe zelf gewoon ``cat /boot/boot.0300 > /dev/hda'', maar dat is niet veilig, omdat het tevens de originele partitie tabel herstelt, terwijl je die intussen ook aangepast zou kunnen hebben). Dit commando is veel eenvoudiger te draaien dan ``fdisk /mbr'' in een DOS shell te draaien: het staat je toe Linux netjes van een disk te verwijderen zonder ook maar iets anders op te starten dan Linux. Nadat Lilo verwijderd is kunnen met Linux' fdisk alle Linux partities vernietigd worden (DOS' fdisk kan dat niet)

Als je Lilo op je root partitie hebt geinstalleerd (bv. /dev/hda2), hoeft je niets speciaals te doen om Lilo te verwijderen. Draai Linux' fdisk om de Linux partities te verwijderen uit de partitie tabel. Je moet ook de DOS partitie als ``bootable'' markeren.


Verder Terug Inhoud