Wie anmiere ich Lilo?
Kernel-Sources patchen
Kernel ftp://ftp.kernel.org/pub/linux/kernel/v2.4/linux-2.4.22.tar.bz2 und den entsprechenden Patch http://www.plumlocosoft.com/kernel/ runterladen.
Achtung: Patch und Kernel-Dateien müssen in /usr/src/linux sein, falls dies euer erster self-made Kernel ist, schaut unbedingt in einem der Howtos's nach (z.b. KernelsourcenPatchen). Mit: patch -p1 patch-2.4.22-cck3
Dann die Sources patchen.
Kernel konfigurieren und kompilieren
Mit der Config beginnen (make menuconfig oder wie ihr's gern hättet, text, menu, x). Wie gesagt, entweder sind die anderen Elemente der Config-File schon auf euer System abgestimmt oder ihr backt euch erstmal einen neuen Kernel zum probieren, damit ihr nachher wisst ob ein eventueller Fehler nicht bei einer anderen Option liegt. Folgende Optionen aktivieren:
{{{code maturity level options > promt for development and/or incomplete code/drivers = y block devices > loopback device support = y block devices > ram disk support = y block devices > initial ram disk (initrd) support = y console drivers > frame-buffer support > use splash screen instead of boot logo = y console drivers > frame-buffer support > vesa vga graphics console = y}}}
ESC und Speichern und Beenden...
Kernel kompilieren mit
make clean && make dep && make modules && make modules_install && make bzImage
Den fertigen Kernel nach /boot kopieren und umbennen, z.b. in 2.4.22splash.
Damit habt ihr (Falls alles bis hierhin fehlerfrei funktioniert hat) die Framebuffer- und Ramdisk-Funktionen des Kernels aktiviert. D.h. Lilo kann vor dem Bootvorgang, wenn noch kein Filesystem gemountet ist, das grafische Bootmenü in eine Ramdisk packen (eine Art Partition in eurem Arbeitsspeicher).
initrd erzeugen, Lilo einstellen
Damit diese Ramdisk auch erzeugt werden kann, braucht ihr ein Image das geladen werden soll... dafür zuerst mit
aptitude install initrd-tools das entsprechende Tool dafür installieren. Mit
mkinitrd -o /boot/initrd.img
ist das auch getan, Nun können wir die /etc/lilo.conf editieren... wählt euren Lieblingseditor und fügt folgende Zeilen hinzu:
Die beiden folgenden Optionen entweder ändern, oder, wenn vga= bzw. append= in der conf nicht auftauchen, selber erstellen:
append="video=vesa:ywrap,pmipal,mtrr splash=silent" vga=0x317
- Und den neuen Eintrag für den neuen Kernel hinzufügen:
image=/boot/2.4.22splash # oder euer entsprechender Kernel-Datei-Name label=bootsplash # Name, der im Bootmenü angezeigt wird (keine Sonderzeichen!) read-only initrd = /boot/initrd.img
/sbin/lilo ausführen wie immer nicht vergessen
Ihr könnt nach Belieben nun neu starten und gucken ob alles funktioniert hat. (boot-logs anschauen und nach splash suchen/nachsehen, ob /proc/splash exisiert,)
"Lilo patchen"
Ich habe alles Mögliche über einen benötigten Lilo-patch (LPP) gelesen, das kann ich aber nicht bestätigen. Was man braucht, ist ein altes Lilo von Suse 7.3. (Ja, anders gehts meines Wissens nach leider nicht...) Habe auf einem US-Server noch aufgestöbert: [ftp://mirrors.usc.edu/pub/linux/distributions/suse/i386/7.3/suse/a1/lilo.rpm (1)] <- Link ist tot ! Mit
alien (aptitude install alien) wandelt ihr das in ein Debian Paket um: alien -d lilo.rpm und mit dpkg -i lilo_21.7.5-55_i386.deb installiert ihr dieses Debian-Paket.
Danach das Lilo-Paket auf "hold" stellen, damit ein aptitude upgrade keinen Mist baut und alles zerstört
echo 'lilo hold' | dpkg --set-selections
"Oder fertige .deb Pakete nehmen"
Steffen Winterfeldt hat sich mal die Mühe gemacht fertige .deb Pakete ins Netz zu stellen. Somit fällt die Suche nach geeignete rpms weg. Damit lässt sich lilo einfach auf den nötigen Stand bringen und mkbootmsg wird auch zum System hinzugefügt. http://debian.thermoman.de/misc/graphical_boot_screen_for_lilo/
Der Splashscreen selbst
Zum Schluss das wichtigste überhaupt: Den Splashscreen selbst runterladen und installieren. Ich habe mal das penguin-splash gewählt: http://www.gamers.org/~quinet/lilo/penguins.boot.gz => Entpacken und nach /boot kopieren. Dann in der /etc/lilo.conf noch den Eintrag:
message=/boot/penguins.boot
hinzufügen.
Abschließend noch einmal /sbin/lilo ausführen und alles sollte funktionieren.
Viel Glück