Inhaltsverzeichnis
Intro
LILO ("LInux LOader") ist der wohl meistbenutzte Linux-BootManager.
LILO ist vom Verständnis her recht einfach, erfordert aber, dass man nach Kernel-Änderungen und Änderungen an der lilo.conf nicht vergisst, das Kommando lilo abzusetzen, so dass LILOs "Map" aktualisiert wird (damit findet der sehr einfache LILO-Bootcode den Kernel auf den richtigen Sektoren der Festplatte, denn LILO kennt keine Filesysteme, sondern nur Sektoren).
LILO kann übrigens mehr, als vielleicht mancher erwarten/meinen würde - einiges erschließt sich einem aber nur, wenn man die Dokumentation liest, die sich i.d.R. unter /usr/share/doc/lilo/ befindet.
Siehe auch LILO/sichern, sowie LILO/undNT (Win2000 und WinXP verhält sich auch wie NT).
Homepage: http://brun.dyndns.org/pub/linux/lilo/
Eine mögliche Alternative zu LILO ist GRUB
Micro-Howto
Standard lilo.conf für Debian Woody, Kernel 2.4.18 mit initrd
Hab Linux installiert und Windows bootet nicht mehr, was nun?
Einfach folgendes in die lilo.conf rein (am Ende):
# LILO-Eintrag für auf C: einer EIDE-Platte installiertes Windows: other=/dev/hda1 table=/dev/hda label=windows # bei SCSI sinngemäß eben sda(1) statt hda(1)
Nach der Änderung natürlich einmal lilo laufen lassen.
Standard-Boot-Eintrag
Wenn man verschiedene Betriebssysteme am Laufen hat und eines als Standard im LILO festlegen will, kann man es einfach als ersten Eintrag machen - das ist die Standardwahl und wird automatisch gestartet, wenn man nichts anderes während der Wartezeit aussucht.
Config für RAID1-Systeme
Für RAID1 mit LinuxSoftwareRAID benutzt man am besten einen LILO neuer als 22.2, denn dieser unterstützt diesen Modus besonders, indem er /boot auf dem RAID-Device selbst hat und zusätzlich sich auch noch per "raid-extra-boot=" in die MBR beider Platten installieren kann.
Mit RAID5 funktioniert diese Technik nicht, aber man kann ja das Verzeichnis /boot und die LILO-Daten auf ein RAID1 legen und den Rest dann auf RAID5.
Real-Life-Beispiel-Config eines RAID1-Systems (mit devfs, geht aber auch sinngemäß ohne):
lba32 boot=/dev/md/7 # making a small simple lilo and an old ugly bios a very happy pair X-) disk=/dev/md/0 bios=0x80 disk=/dev/md/1 bios=0x80 disk=/dev/md/2 bios=0x80 disk=/dev/md/3 bios=0x80 disk=/dev/md/4 bios=0x80 disk=/dev/md/5 bios=0x80 disk=/dev/md/6 bios=0x80 disk=/dev/md/7 bios=0x80 disk=/dev/ide/host2/bus0/target0/lun0/disc bios=0x80 disk=/dev/ide/host2/bus1/target0/lun0/disc bios=0x81 # extra bootsectors for raid boot raid-extra-boot=/dev/ide/host2/bus0/target0/lun0/disc,/dev/ide/host2/bus1/target0/lun0/disc install=/boot/boot.b map=/boot/map prompt timeout=600 vga=normal # serial=<portno>,<bps> serial=0,115200 image=/boot/vmlinuz root=/dev/md/7 label=resc.ser read-only image=/boot/vmlinuz root=/dev/md/7 label=resc.vga read-only append="mem=nopentium" image=/boot/vmlinuz.old root=/dev/md/7 label=old.ser read-only append="mem=nopentium console=ttyS0,115200" image=/boot/vmlinuz.old root=/dev/md/7 label=old.vga read-only append="mem=nopentium" image=/boot/memtest.bin.28 label=memtest86 read-only other=/dev/md/0 label=productive other=/dev/md/3 label=backup
Einfache Beispielkonfiguration einer lilo.conf mit RAID (RAID1 für /boot (md0) beliebige RAID-Level für andere Partitionen)
boot=/dev/md0 raid-extra-boot=/dev/hda,/dev/hdb,/dev/hdc,/dev/hdd prompt map = /boot/System.map timeout = 30 delay = 30 default=2.4.6-rc2 image=/boot/kernel-2.6.4-rc2 label=2.6.4-rc2 read-only root=/dev/md1
Bootoptionen
Lilo können spezielle Bootoptionen beim Start entweder manuell durch drücken von Esc, während das Auswahlmenue angezeigt wird und anschließender Texteingabe (so z.B. linux noapic) oder automatisch bei jedem Neustart mittels eines Eintrags in die "lilo.conf". Hier wird die Bootoption in die Zeile "append" eingefügt.
Bootoptionen:
noapic: dadurch wird das Interrupt-Sharing ausgeschaltet und alles laeuft problemlos. Freilich hast Du dann die traditionelle 15-Interrupt-Beschraenkung. Des weiteren will man das auf Servern mit extrem viel I/O nicht tun, da hier beide CPU's die Interrupts abfruehstuecken sollten.
Probleme
Es können Bootfehler wie 0x04 , CRC Fehler beim Kernel auspacken oder Hänger ohne Meldung entstehen. Teilweise immer der gleiche, oder abwechselnd. Ich vermute das Lilo zum Teil bei einigen Boards Problem hat mit der Memory Verwaltung, resp. den Interrupts.
Dann empfiehlt sich doch ein Blick nach GRUB - Bootmanager zu werfen, der kommt damit klar.