Die Kernel Quellen können auf zwei arten aus dem Netz bezogen werden.
- Mit den (A)vanced (P)acket (T)ools (apt) Code : apt-get install kernel-source-2.6.8
Oder über die ganz offizielle http://www.kernel.org
Dieses kompremierte Verzeichniss ist schnell mit tar entpackt. Code: tar xjf kernel-source-2.6.8
Der Bootsplash Patch
Sollte auf der Offiziellen http://www.bootsplash.org kein Patch für den entsprechenden Kernel Version vorhanden sein kann auf einen Patch von http://www.bootsplash.de verwiesen werden.
Der Kernel Patch muss von Hand geladen werden. Anders die Bootspalsh User Space Tools, hier besteht wieder die Wahl zwischen den apt und dem Weg es von Hand zu machen.
Um die apt nutzen zu können muss die Bootsplash Seite zu den apt Quellen hinzugefügt werden.
/etc/apt/sources.list
deb http://ftp.de.debian.org/debian/ testing main non-free
deb-src http://ftp.de.debian.org/debian/ testing main non-free
deb http://debian.bootsplash.de unstable main
deb-src http://debian.bootsplash.de unstable main
deb http://security.debian.org/ testing/updates main
Um die Bootsplash Userspace Tools nun zu installieren einfach die apt mit
Code:apt-get install bootsplash
aufgerufen.
Keine Panic ! der Konfigurationsdialog kann über den Befehl: dpkg-reconfigure bootsplash erneut aufgerufen werden.
Da sich die Kernel Quellen immer noch im Verzeichniss /usr/src/kernel-source-2.6.8 befinden werden sie kurzerhand in das Verzeichniss /usr/src/linux gelinkt.
Code: ln -s /usr/src/kernel-source-2.6.8 /usr/src/linux
Um den Patch in den Kernel einspielen zu können muss einmalig ein config aufgerufen werden.
Code: make menuconfig
Natürlich im Kernel Quellen Verzeichniss /usr/src/linux
Nun kann der Patch eingespielt werden.
Code:patch -p1 ../bootsplash-3.1.6.2.6.8.diff
Der Patch wurde nach /usr/src geladen
patching file drivers/char/console.c
patching file drivers/char/keyboard.c
patching file drivers/char/n_tty.c
patching file drivers/video/Config.in
patching file drivers/video/Makefile
patching file drivers/video/fbcon-jpegdec.c
patching file drivers/video/fbcon-jpegdec.h
patching file drivers/video/fbcon-splash.c
patching file drivers/video/fbcon-splash.h
patching file drivers/video/fbcon-splash16.c
patching file drivers/video/fbcon.c
patching file include/video/fbcon.h
patching file kernel/panic.c
Ein erneuter Blick in die Linux Kernel Configuration zeigt einen neuen Eintrag.
Device Drivers/Graphics support/Bootsplash configuration
Bestehende Kernel Konfiguration laden
Um eine lauffähige Konfiguration in die Kernel Quellen zu laden kann eine vorhandene .config benutzt werden. Diese Dateien befinden sich im /boot Verzeichniss.
Code:cp /boot/config-2.6.8 /usr/src/linux/.config
Wenn für diese Kernel Quellen keine lauffähige Konfiguration vorhanden ist kann es hilfreich sein ein Kernel Paket der selben version zu installieren.
Code:apt-get install kernel-package-2.6.8
Bootsplash Kernel konfiguration
Das Bootsplsh Image wird dem Kernel über die initrd Datei übergeben. In dieser Datei werden normalerweise Module die zur Startzeit benötigt werden, aber zu groß für den Speicher des real Mode sind, außgelagert. Der Support für diesen Dateityp muss in den Kernel hineinkompeliert werden.
- Device Drivers/Block devices/Initial RAM disk (initrd) support
- Device Dreivers/Graphics support/Support for Frame buffer devices
Device Dreivers/Graphics support/VESA VGA graphics support
- Device Dreivers/Graphics support/Bootsplash configuration/Bootupsplash screen
Um einen Kernel auf die Debian art zu übersetzen wird das Packet kernel-package benutzt.
Code:dpkg-query -s kernel-package|grep Depends
Depends: perl, dpkg, dpkg-dev, gcc | c-compiler, make
Code:dpkg-query -s kernel-package|grep Recommends
libc6-dev | libc-dev, bzip2
Code:dpkg-query -s kernel-package|grep Suggests
kernel-source, libdb3-dev, libncurses-dev docbook-utils
Und diese sollte auch tunlichst alle vorhanden sein.
libdb3-dev und libncurses-dev sind beispielsweise für ein erfolgreiches make menuconfig unverzichtbar.
Kernel Packet mit Bootsplash erstellen
Im Verzeichniss /usr/src/linux wird unter zuhilfe nahme des Debian Kernel Packge Systems der ein Kernel Packet erstellt.
Code:make-kpkg buildpackage --revision=Splash.01
Kernel installieren und Bootsplash einrichten
Nachdem das make-kpkg seine arbeit gemacht hat kann im Verzeichniss /usr/src mit dem Befehl: dpkg -i kernel-image-2.6.8_Splash0.1_i386.deb das Kernel Image installiert werden werden.
Mit dpkg-reconfigure bootsplash wird nun das standart Theme newLinux an die Datei initrd.img-2.6.8 angehängt.
Der anschießende Dialog fragt welche Auflösung hinzugefügt werden soll. Die entscheidung die hier getroffen wird muss paralel auch dem Bootloader mitgegeben werden. Wenn ein Theme mit der Auflösung 640x480 geladen wird muss der Bootloader das Framebufferdevice auch mit dieser Auflösung starten.
/boot/grub/menu.list
...
title Debian GNU/Linux, kernel 2.6.8
root (hd0,0)
kernel /boot/vmlinuz-2.6.8 root=dev/hdc1 ro vga=785 splash=silent
initrd /boot/initrd.img-2.6.8
savedefault
boot
...
Nun kann der Bootloader (grub) eingerichtet werden
Code:grub-install /dev/hdc
Bei dem nächsten neustart sollten die tristen schwarz/weis Bootupmeldungen einem freundlichem Pinguin platz gemacht haben.
Alternativen Bootsplash Theme installieren
Einige schöne Debian Themes sind im apt cache zu finden.
Code: apt-cache search bootsplash|grep debian
bootsplash-theme-debian - The debian bootsplash Theme
bootsplash-theme-debian-mist - The bootsplash theme debian-mist
bootsplash-theme-debian-sarge - The bootsplash theme debian-sarge
....
Diese Themes können nun auch einfach mit den atp installiert werden.
Code:atp-get install bootsplash-theme-debian-sarge
Der neue Bootsplash Theme muss nun zu der initrd Datei hinzugefügt werden.
Code:dpkg-reconfigure bootsplash
Ok ich hoffe es sind somit alle klarheiten beseitigt. Mfg NonIlIteFreak
Und nun viel spaß beim Klugscheißen
Oder wie kann man es noch besser auf die Debian art machen ?