# bootsplash (fbsplash)

## flammenflitzer

Hallo

Ich habe versucht bootsplash (fbsplash) nach dieser Anleitung

einzurichten.

http://de.gentoo-wiki.com/Fbsplash#Alternativ:_Benutzung_von_Genkernel

Es funktioniert allerdings nur, wenn ich im Kernel nvidia fb

(CONFIG_FB_NVIDIA)  einbinde.

Dann kann ich allerdings nicht den nvidia Bildschirmtreiber laden. Kennt

jemand eine Lösung?

MfG

----------

## nikaya

Wie sieht denn die grub.conf aus?

----------

## musv

 *flammenflitzer wrote:*   

> Hallo
> 
> Es funktioniert allerdings nur, wenn ich im Kernel nvidia fb
> 
> (CONFIG_FB_NVIDIA)  einbinde.
> ...

 

Altes bekanntes Problem. Der xorg-Treiber von nvidia beißt sich mit dem nvidia-Framebuffertreiber. Nach meiner Erfahrung reicht für den Framebuffer der vesa-/vesa-tng-Treiber vollkommen aus. Weiß auch gar nicht, was die Vorteile der grakaspezifischen Framebuffertreiber sind, da vesa eh den Standard für Framebuffer repräsentiert.

Versuch mal den vesa-tng-Treiber. Wenn der nicht funktionieren sollte, dann nimm den "normalen" vesa-Treiber.

----------

## flammenflitzer

Roadrunner linux # cat .config | grep FB | grep -v \#

CONFIG_FB=y

CONFIG_FB_CFB_FILLRECT=y

CONFIG_FB_CFB_COPYAREA=y

CONFIG_FB_CFB_IMAGEBLIT=y

CONFIG_FB_MODE_HELPERS=y

CONFIG_FB_VESA=y

CONFIG_FB_VESA_STD=y

CONFIG_FB_SPLASH=y

grub.conf

title=Gentoo Linux-2.6.19-Bootsplash

root (hd0,7)

kernel /bzImage-2.6.19-gentoo-r5 root=/dev/sda10 video=vesafb:1280x1024-32@60,mtrr,ywrap splash=verbose,theme:emergence

initrd /boot/fbsplash-emergence-1280x1024

----------

## nikaya

Dein Link verweist auf Genkernel:Deine grub.conf sieht aber nicht danach aus.

```
kernel /bzImage-2.6.19-gentoo-r5 root=/dev/sda10 video=vesafb:1280x1024-32@60,mtrr,ywrap splash=verbose,theme:emergence 

initrd /boot/fbsplash-emergence-1280x1024
```

Genkernel sieht bei mir so aus:

```
title   Gentoo Linux 2.6.20-r4

root    (hd0,6)

kernel  /boot/kernel-genkernel-x86-2.6.20-gentoo-r4 root=/dev/ram0 init=/linuxrc ramdisk=8192 real_root=/dev/hda7 vga=0x31A udev splash=verbose,theme:gentoo-blue CONSOLE=/dev/tty1 

initrd  /boot/initramfs-genkernel-x86-2.6.20-gentoo-r4
```

Was benutzt Du denn jetzt?

Edit:

Ich benutze vesafb.

----------

## flammenflitzer

Normalen Kernel. Und hat ja auch mit dem nvidia-Framebuffertreiber funktioniert. Habe jetzt den vesa-/vesa-tng-Treiber im Kernel. Mal sehen, ob der funktioniert. Ich war der Meinung, das im Howto

```

title=Gentoo Linux 2.6.10

root (hd0,0)

kernel /boot/kernel-2.6.10 root=/dev/hda3 video=vesafb:1280x1024-32@60,mtrr,ywrap splash=verbose,theme:emergence

initrd /boot/fbsplash-emergence-1280x1024
```

 für normalen Kernel und 

```
title=Gentoo Linux (2.6.17-gentoo-r7)

root (hd0,2)

kernel (hd0,2)/boot/kernel-2.6.17 video=vesafb:1400x1050-24@60,mtrr,ywrap splash=verbose,theme:emergence real_root=/dev/hda3 root=/dev/ram0 init=/linuxrc ramdisk=8192

initrd (hd0,2)/boot/initramfs-2.6.17
```

für genkernel ist.

Also, wie gesagt, es mit dem nvidia-Framebuffertreiber funktioniert.

----------

## nikaya

 *flammenflitzer wrote:*   

> 
> 
> Also, wie gesagt, es mit dem nvidia-Framebuffertreiber funktioniert.

 

Nvidia Framebuffer muß am besten raus.Macht auf Dauer nur Ärger (bei mir jedenfalls).

----------

## flammenflitzer

Habe ich jetzt durch den vesa-tng-Treiber ersetzt. Muß ich beim nächsten reboot mal sehen, ob es funktioniert. Mit dr´er geposteten Kernelkonfiguration hat es nicht funktioniert. Ich weiß allerdings nicht, ob ich den zu verwendenden Treiber irgendwo explizit angeben oder laden muß.

----------

## franzf

 *flammenflitzer wrote:*   

> 
> 
> [in einem anderenPost:]
> 
> Ich habe eine 64bit Installation...

 

Aber das muss man doch sache  :Wink: 

Vesafb-tng geht nicht mit 64Bit! Da muss der alte vesa rein. In deiner grub.conf muss also, wie hier beschrieben, das vga= wieder rein, statt dem video= (so weit ich mich noch recht erinner)

Ah hier  :Smile: 

 *http://gentoo-wiki.com/HOWTO_fbsplash#x86_64_.2F_IA64 wrote:*   

> 
> 
> The 'vesafb-tng' patch will not work on 64-bit systems (x86_64 and ia64), because the vm86 mode is not supported for OSes running in 64-bit mode. If you happen to own a 64-bit box, you're limited to plain vesafb 
> 
> Because vesafb-tng doesn't work on 64 bit systems, you must use vesafb on these arches.

 

Vielleicht einfach mal das englische Wiki durcharbeiten.

Grüße

Franz

----------

## bbgermany

Hi,

 *franzf wrote:*   

> ...das vga= wieder rein, statt dem video= (so weit ich mich noch recht erinner)...

 

Korrekt, und für 1280x1024 nimmt man dann:

0x0307 für 8Bit Farbtiefe

0x0319 für 15Bit Farbtiefe

0x031a für 16Bit Farbtiefe

0x031b für 24Bit Farbtiefe

0x0324 für 32Bit Farbtiefe.

Sollte da was abweichen, hilft das Tool "hwinfo" mit dem Parameter "--framebuffer" um den passenden Wert zu ermitteln  :Smile: 

MfG. Stefan

----------

## flammenflitzer

Also das 

```
Roadrunner log # cat /usr/src/linux/.config | grep FB | grep -v \#

CONFIG_FB=y

CONFIG_FB_CFB_FILLRECT=y

CONFIG_FB_CFB_COPYAREA=y

CONFIG_FB_CFB_IMAGEBLIT=y

CONFIG_FB_MODE_HELPERS=y

CONFIG_FB_VESA=y

CONFIG_FB_VESA_STD=y

CONFIG_FB_SPLASH=y

```

 wieder ändern in

```
CONFIG_FB=y 

CONFIG_FB_CFB_FILLRECT=y 

CONFIG_FB_CFB_COPYAREA=y 

CONFIG_FB_CFB_IMAGEBLIT=y 

CONFIG_FB_MODE_HELPERS=y 

CONFIG_FB_VESA=y 

CONFIG_FB_SPLASH=y
```

d.h. nur den  

```
CONFIG_FB_VESA_STD=y
```

herausnehmen und in der grub.conf

```
title=Gentoo Linux-2.6.19-Bootsplash 

 root (hd0,7) 

 kernel /bzImage-2.6.19-gentoo-r5 root=/dev/sda10 video=vesafb:1280x1024-32@60,mtrr,ywrap splash=verbose,theme:emergence 

 initrd /boot/fbsplash-emergence-1280x1024
```

in

```
title=Gentoo Linux-2.6.19-Bootsplash 

 root (hd0,7) 

 kernel /bzImage-2.6.19-gentoo-r5 root=/dev/sda10 vga=0x0324 splash=verbose,theme:emergence

 initrd /boot/fbsplash-emergence-1280x1024
```

 ändern.

Oder muß splash=verbose durch splash=silent ersetzt werden?

PS: Ich habe gerade gemerkt, das ich mich vertan habe. Ich hatte gar nicht CONFIG_FB_VESA_TNG = y sondern CONFIG_FB_VESA_STD=y. Wenn VESA_TNG allerdings nicht funktioniert, lasse ich es erst einmal.

----------

## flammenflitzer

```
title=Gentoo Linux-2.6.19-Bootsplash

root (hd0,7)

kernel /bzImage-2.6.19-gentoo-r5 root=/dev/sda10 vga=0x319 splash=verbose,theme:emergence 

initrd /boot/fbsplash-emergence-1280x1024
```

You passed an undefined mode number

vga=0x319 entspricht lt. der Tabelle http://de.gentoo-wiki.com/HOWTO_fbsplash#Bootloader_konfigurieren32k bei 1280x1024, also dem Wert, mit dem unter Verwendung des nvidia-Framebuffertreiber splash angezeigt wurde.

Die /etc/conf.d/splash

```
SPLASH_TTYS="1 2 3 4 5 6"

SPLASH_BOOT_MESSAGE="Booting the system"

SPLASH_REBOOT_MESSAGE="Rebooting the system"

SPLASH_SHUTDOWN_MESSAGE="Shutting the system down"

SPLASH_VERBOSE_ON_ERRORS="yes"
```

Habe gerade hier http://www.pc-erfahrung.de/linux/bootsplash.htmlgesehen vga=319.

----------

## nikaya

Hast Du schon mal andere Werte versucht z.B. vga=0x318?

----------

## flammenflitzer

Nein. Ich wollte mein System nicht pausenlos rebooten.

----------

## bbgermany

@Flammenflitzer

versuch mal 0x0319 nicht 0x319. Das gleiche Problem was du beschreibst hatte ich nämlich auch an der Stelle  :Smile: 

MfG Stefan

----------

## flammenflitzer

vga=319 zeigt nur einen schwarzen Bildschirm. vga=0x318 funktioniert halbwegs. Allerdings wird anfangs nur ein schwarzer Hintergrund gebracht. Das Theme erscheint erst kurz vor dem Einstieg in runlevel 3. 0x0319 geht gar nicht.

----------

## bbgermany

Hi,

die wirklich verfügbaren Modi für den normalen vesafb (nicht vesafb-tng) bekommst du via: 

```
hwinfo --framebuffer
```

Just in case, dir fehlt ein spezieller Mode  :Wink: 

MfG. Stefan

----------

## nikaya

 *flammenflitzer wrote:*   

> vga=0x318 funktioniert halbwegs. Allerdings wird anfangs nur ein schwarzer Hintergrund gebracht. Das Theme erscheint erst kurz vor dem Einstieg in runlevel 3.

 

Das ist eigentlich ein Zeichen dass das Theme nicht in den Kernel einkompiliert wurde,sondern erst beim entsprechenden Runlevel gestartet wird.

----------

## Louisdor

 *john.doe wrote:*   

> Das ist eigentlich ein Zeichen dass das Theme nicht in den Kernel einkompiliert wurde,sondern erst beim entsprechenden Runlevel gestartet wird.

 Hm, wo im Kernel soll man denn das machen können?

Ciao,

aleX!

----------

## flammenflitzer

```
Background image loading in the middle of the boot process 

You may (and probably will) find that the background image is loaded with a certain few-seconds-delay even when using an initramfs image. During that time the standard black-and-white 640x480 resolution is used. 

Such behaviour is normal. The only workaround (in order to get the background image as early as possible) would be using the vesafb frame buffer device (instead of vesafb-tng). Here's Spock's elaborate answer on that issue: "The initramfs is used to populate the root filesystem before the frame-buffer subsystem is initialized, so it's good enough - don't worry about it. As you might have noticed, your PC boots into the text mode, and not the graphics mode. The graphics mode is set up when the framebuffer sub-system is initialized. But before that can happen, other things must be initialized, things that take some time. That's why for a second or two you might be seeing the kernel messages. You might say that with vesafb you didn't have those. And you will be right. But vesafb is an exception, not a rule (it's initialized while the kernel is being loaded) . Every other fb driver, including vesafb-tng, rivafb, radeonfb,... is initialized with the fbdev subsystem".
```

Wie ich das interpretiere ist das normal? Kann man da etwas ändern, wenn man im Kernel Bootup logo (LOGO) aktiviert?

Hier http://dev.gentoo.org/~spock/projects/gensplash/archive/gensplash-in-5-easy-steps.txt steht:

```
Please note that you need to explictly specify 'silent' in the 'splash=' parameter. Otherwise fbsplash *will not* be enabled during boot.
```

Probiere ich aus. Hat nichts gebracht.

----------

## nikaya

 *Louisdor wrote:*   

>  *john.doe wrote:*   Das ist eigentlich ein Zeichen dass das Theme nicht in den Kernel einkompiliert wurde,sondern erst beim entsprechenden Runlevel gestartet wird. Hm, wo im Kernel soll man denn das machen können?
> 
> 

 

Kann ich Dir nicht mal sagen da ich ein Genkernel-Weichei bin.  :Wink:  Ich nehme folgenden Befehl und es funktioniert einfach:

```
genkernel --menuconfig --gensplash=livecd-2006.0 all
```

Kann natürlich auch an der initrd liegen,weiß ich nicht so genau.  :Question: 

Aber wo ich gerade so darüber nachdenke:ich sollte mich endlich wirklich mal intensiver mit dem Kernel beschäftigen.Hab's mir oft vorgenommen und immer wieder verschoben.  :Sad: 

----------

## Louisdor

 *john.doe wrote:*   

> Kann ich Dir nicht mal sagen da ich ein Genkernel-Weichei bin.  

 Na, da wird es aber echt Zeit, dass Du mal Deinen ersten Kernel selber baust!  :Smile: 

Ciao,

aleX!

----------

## flammenflitzer

Habe gerade beim Booten die Meldung gesehen, das ich console=/dev/tty1 zu meinen kernel Command Line hinzufügen soll. Muß ich mal überprüfen.

(Mit Genkernel hatte ich noch nie Glück. Hat nie funktioniert.)

In der Anleitung steht:

```
loading the initramfs image dynamically at boot time (recommended) 

compiling the initramfs image directly into the kernel[code]

[/code]loading the initramfs image dynamically at boot time (recommended) 

In this option, you create the initramfs image as a stand-alone file, also known as the initrd file. Because of this, you will not have to recompile the kernel everytime you want to change the image. 

So the only thing you have to do here is use splash_geninitramfs to generate an initrd file (that contains the pictures, configs and the userspace helper):

# cd /etc/splash/

# splash_geninitramfs livecd-2006.1 -r 1024x768 -g /boot/fbsplash-livecd-2006.1-1024x768 -v

Change the resolution and theme to match your monitor's resolution and chosen theme.

Note: To help explain what's going on here for those who don't know, the first command we gave "livecd-2006.1" simply tells it which theme to use, the next command "-r 1024x768" is our desired resolution, then "-g /boot/fbsplash-livecd-2006.1-1024x768" tells it where to generate the new initramfs file, and finally -v simply tells it to be verbose in its output so we can see what it's working on
```

m.E. habe ich das gemacht.

```
title=Gentoo Linux-2.6.19-Bootsplash

root (hd0,7)

kernel /bzImage-2.6.19-gentoo-r5 root=/dev/sda10 vga=789 splash=silent,theme:emergence quiet CONSOLE /dev/tty1

initrd /boot/fbsplash-emergence-800x600
```

Jetzt kommt die Meldung, das /etc/splash/emergence/800x600.cfg nicht gefunden wird und deshalb das Image nicht geladen werden kann. Das wird u.U. daran liegen, daß ich für /boot und / getrennte Partitionen habe.

----------

## flammenflitzer

Habe jetzt root und boot auf einer Partition. Hat auch nichts gebracht.

----------

## nikaya

 *Louisdor wrote:*   

>  *john.doe wrote:*   Kann ich Dir nicht mal sagen da ich ein Genkernel-Weichei bin.   Na, da wird es aber echt Zeit, dass Du mal Deinen ersten Kernel selber baust! 
> 
> 

 

Gesagt und getan.  :Wink:  Einiges gelernt und nebenbei den Kernel um ca. 60% kleiner gehalten.  :Smile: 

 *Louisdor wrote:*   

>  *john.doe wrote:*   Das ist eigentlich ein Zeichen dass das Theme nicht in den Kernel einkompiliert wurde,sondern erst beim entsprechenden Runlevel gestartet wird. Hm, wo im Kernel soll man denn das machen können?
> 
> 

 

Bei meinen Recherchen gefunden:

http://gentoo-wiki.com/HOWTO_fbsplash#Alternative_Method:_Compiling_initramfs_directly_into_the_kernel

Ich habe es aber so gemacht dass initramfs beim booten geladen wird.Bei mir funktioniert es einwandfrei.Das Image erscheint sofort beim Bootvorgang.  :Confused: 

----------

## Louisdor

 *john.doe wrote:*   

> Gesagt und getan.  Einiges gelernt und nebenbei den Kernel um ca. 60% kleiner gehalten. 

 Siehste, hat es doch was gebracht! Ich bin damals, als ich mit Gentoo anfing, gar nicht auf die Idee gekommen, das mit genkernel zu machen.  :Wink: 

 *john.doe wrote:*   

> Bei meinen Recherchen gefunden:
> 
> http://gentoo-wiki.com/HOWTO_fbsplash#Alternative_Method:_Compiling_initramfs_directly_into_the_kernel

 

OK, Merci, muss ich mal versuchen ...

Ciao,

aleX!

----------

## flammenflitzer

Und wie sieht die grub.conf aus?

----------

## nikaya

 *flammenflitzer wrote:*   

> Und wie sieht die grub.conf aus?

 

```

title   Gentoo Linux 2.6.20-r5

root    (hd0,6)

kernel  /boot/vmlinuz-2.6.20-gentoo-r5 root=/dev/hda7 vga=0x31A splash=verbose,theme:livecd-2006.1 CONSOLE=/dev/tty1

initrd  /boot/fbsplash-livecd-2006.1-1280x1024
```

----------

## flammenflitzer

```
title=Gentoo Linux-2.6.19

root (hd0,9)

kernel /boot/bzImage-2.6.19-gentoo-r5 root=/dev/sda10  vga=0x31A splash=verbose,theme:livecd-2006.1 CONSOLE=/dev/tty1

initrd  /boot/fbsplash-livecd-2006.1-1024x768
```

 scheitert am Modus, der nicht verfügbar ist.

```
title=Gentoo Linux-2.6.19

root (hd0,9)

kernel /boot/bzImage-2.6.19-gentoo-r5 root=/dev/sda10  vga=789 splash=silent,theme:livecd-2006.1 quiet CONSOLE=/dev/tty1

initrd  /boot/fbsplash-livecd-2006.1-1024x768
```

 funktioniert halbwegs. Nach 5-6 Zeilen bootmeldungen kommt der splash und ich kann mit F2 umschalten. Allerdings werden immer noch einige bootmeldungen (s.o.) angezeigt. Außerdem kommt am Anfang

```
can't open config file 

/etc/splash/livecd-2006.1/1024x768.cfg 

failed to load image (null)

failed to load image (null)

failed to get silent splash image
```

```
olaf@Roadrunner ~ $ ls -l /etc/splash/livecd-2006.1/1024x768.cfg

-rw-r--r-- 1 root root 624 17. Apr 16:51 /etc/splash/livecd-2006.1/1024x768.cfg
```

Weiters Problem. Wenn ich den Rechner herunterfahre sehe ich nur buntes Schneegestöber.

[code]Roadrunner olaf # splash_manager --theme=livecd-2006.1 --cmd=set --tty=1

Can't open /dev/fb0 or /dev/fb/0

Error: Theme 'livecd-2006.1' doesn't seem to provide a config file for the current resolution ().

----------

