Sie sind nicht angemeldet.

Lieber Besucher, herzlich willkommen bei: GentooForum.de. Falls dies Ihr erster Besuch auf dieser Seite ist, lesen Sie sich bitte die Hilfe durch. Dort wird Ihnen die Bedienung dieser Seite näher erläutert. Darüber hinaus sollten Sie sich registrieren, um alle Funktionen dieser Seite nutzen zu können. Benutzen Sie das Registrierungsformular, um sich zu registrieren oder informieren Sie sich ausführlich über den Registrierungsvorgang. Falls Sie sich bereits zu einem früheren Zeitpunkt registriert haben, können Sie sich hier anmelden.

1

22.03.2008, 17:09

Bootsplash mit uvesafb funktioniert nicht

Hallo,

um es gleich vorweg zu schicken, ich habe schon gegoogelt und die Foren durchsucht.
Ich wollte mal einen Bootsplash installieren. Dazu habe ich uvesafb im Kernel aktiviert und mich nach dieser Anleitung gerichtet. Auch das: http://dev.gentoo.org/~spock/projects/uvesafb/ hat mir nicht wirlich weitergeholfen.

Leider wird kein Bootsplash/fbsplash angezeigt. An der Stelle, wo es passieren sollte, wird der Bootvorgang kurz verzögert und läuft dann normal im Textmodus weiter. Keine Fehlermeldung!

Hier der Eintrag in Grub:

Quellcode

1
2
3
4
title=Gentoo Linux 2.6.24-gentoo-r3
root (hd0,4)
kernel /boot/vmlinuz root=/dev/sda7 video=uvesafb:ywrap,pmipal,1280x1024-32,mtrr:3,fadein,theme:gentoo
initrd /boot/fbsplash-gentoo-1280x1024


Die entsprechenden .config-Einstellungen sehen so aus:

Quellcode

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
grep -e ^CONFIG_FB -e ^CONFIG_FRAMEBUFFER .config
CONFIG_FB=y
CONFIG_FB_DDC=m
CONFIG_FB_CFB_FILLRECT=m
CONFIG_FB_CFB_COPYAREA=m
CONFIG_FB_CFB_IMAGEBLIT=m
CONFIG_FB_DEFERRED_IO=y
CONFIG_FB_BACKLIGHT=y
CONFIG_FB_MODE_HELPERS=y
CONFIG_FB_UVESA=m
CONFIG_FB_RADEON=m
CONFIG_FB_RADEON_I2C=y
CONFIG_FB_RADEON_BACKLIGHT=y
CONFIG_FRAMEBUFFER_CONSOLE=y
CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY=y
CONFIG_FRAMEBUFFER_CONSOLE_ROTATION=y
CONFIG_FB_CON_DECOR=y


und:

Quellcode

1
2
3
4
5
6
7
8
CONFIG_INITRAMFS_SOURCE="/usr/share/v86d/initramfs"
CONFIG_INITRAMFS_ROOT_UID=0
CONFIG_INITRAMFS_ROOT_GID=0
CONFIG_SCHED_NO_NO_OMIT_FRAME_POINTER=y
CONFIG_BLK_DEV_RAM=y
CONFIG_BLK_DEV_RAM_COUNT=1
CONFIG_BLK_DEV_RAM_SIZE=4096
CONFIG_BLK_DEV_RAM_BLOCKSIZE=1024



Die Grafikkarte ist eine ATI Radeon Mobility X1600.

An welchem Schräubchen könnte ich hier noch drehen?

Gruß, Ignatz

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »Ignatz« (25.03.2008, 19:01)


2

22.03.2008, 20:56

An welchem Schräubchen könnte ich hier noch drehen?


Hallo Ignatz
Ich würde doch die ganzen RADEON framebuffer Einstellungen im Kernel Deaktivieren, und die uvesafb Einstellungen fest einkompilieren.

Hast du mal geschaut ob 1280x1024-32 wirklich unterstützt wird?
Du kannst dir die unterstützten Frequenzen und Farbtiefen mit

Quellcode

1
cat /sys/bus/platform/drivers/uvesafb/uvesafb.0/vbe_modes
anzeigen lassen.

Bei mir schaut die Kernel Zeile zb so aus: (Mit funktionierenden Fbsplash)

Quellcode

1
2
kernel /2.6.23-gentoo-r9 root=/dev/ram0 init=/linuxrc real_root=/dev/hda7 video=uvesafb:1280x1024-16,mtrr:3,ywrap splash=verbose,theme:livecd-2007.0 CONSOLE=/dev/tty1 quiet
initrd /initramfs-kernel-x86-2.6.23-gentoo-r9


MfG
josef.95

3

23.03.2008, 07:39

Hallo Josef,

uvesafb lässt sich nur als Modul kompilieren, zumindest bei mir. Eventuell verträgt sich das nicht mit anderen Einstellungen?! Radeon habe ich mal rausgenommen.

Das Verzeichnis /sys/bus/platform/drivers/uvesafb/ existiert bei mir nicht.

Gruß,
Ignatz

[Edit]

Ich habe jetzt mal folgendes probiert:

Quellcode

1
2
modprobe uvesafb
Speicherzugriffsfehler


und dmesg hat folgendes dazu zu sagen:

Quellcode

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
BUG: unable to handle kernel NULL pointer dereference at virtual address 00000000
printing eip: c02712f9 *pde = 00000000
Oops: 0002 [#1] PREEMPT SMP
Modules linked in: uvesafb cfbcopyarea cn cfbimgblt cfbfillrect coretemp it87 hwmon_vid hwmon fglrx(P) saa7134 compat_ioctl32 videobuf_dma_sg videobuf_core ir_kbd_i2c i2c_core ir_common videodev v4l2_common v4l1_compat sdhci mmc_core iwl3945 mac80211 hci_usb bluetooth snd_hda_intel snd_pcm snd_timer snd_page_alloc snd_hwdep snd pcspkr

Pid: 2268, comm: modprobe Tainted: P        (2.6.24-gentoo-r3 #2)
EIP: 0060:[<c02712f9>] EFLAGS: 00010206 CPU: 0
EIP is at strncpy+0x19/0x40
EAX: 00000056 EBX: 00000000 ECX: 00000003 EDX: f8a23be5
ESI: f8a23be6 EDI: 00000000 EBP: f766dcb0 ESP: f7709c88
 DS: 007b ES: 007b FS: 00d8 GS: 0033 SS: 0068
Process modprobe (pid: 2268, ti=f7708000 task=f775f540 task.ti=f7708000)
Stack: f8a271dc f7496780 fffffff4 f8a271dc f8a22272 c011ec45 c1fed180 c1fed160
       c0168eeb 00000002 00000044 f766dc00 f766dc08 c2019b2c f76a5000 00000000
       c2019b2c c026b522 00000001 c012319d 001280d2 c057c70c 00000001 00000005
Call Trace:
 [<f8a22272>] uvesafb_probe+0x72/0x1120 [uvesafb]
 [<c011ec45>] kunmap_atomic+0x35/0x70
 [<c0168eeb>] get_page_from_freelist+0x2bb/0x460
 [<c026b522>] __next_cpu+0x12/0x30
 [<c012319d>] find_busiest_group+0x19d/0x760
 [<c026ba0a>] idr_get_empty_slot+0xea/0x270
 [<c026bc17>] ida_get_new_above+0x87/0x180
 [<c01c75a0>] sysfs_ilookup_test+0x0/0x10
 [<c045c22d>] _spin_unlock+0xd/0x30
 [<c019bd92>] ifind+0x92/0xa0
 [<c01c7bc5>] sysfs_addrm_finish+0x15/0x1e0
 [<c01c7881>] sysfs_find_dirent+0x21/0x30
 [<c01c78d3>] sysfs_add_one+0x43/0xe0
 [<c01c79af>] sysfs_addrm_start+0x3f/0xb0
 [<c01c874d>] sysfs_create_link+0x8d/0x130
 [<c02dda1c>] platform_drv_probe+0xc/0x10
 [<c02dc50e>] driver_probe_device+0x8e/0x190
 [<c045c22d>] _spin_unlock+0xd/0x30
 [<c045975d>] klist_next+0x5d/0xa0
 [<c02db7a4>] bus_for_each_drv+0x44/0x70
 [<c02dc6cb>] device_attach+0x7b/0x80
 [<c02dc610>] __device_attach+0x0/0x10
 [<c02db6fd>] bus_attach_device+0x4d/0xb0
 [<c02da74e>] device_add+0x3de/0x4b0
 [<c02dde17>] platform_device_add+0x107/0x170
 [<f8a235cd>] uvesafb_init+0x4d/0xa0 [uvesafb]
 [<c014ebcb>] sys_init_module+0x16b/0x1930
 [<c0131040>] __request_region+0x0/0xa0
 [<c01043de>] sysenter_past_esp+0x5f/0x85
 [<c0450000>] svc_tcp_recvfrom+0x4f0/0x930
 =======================
Code: 7c 24 08 83 c4 0c c3 8d 74 26 00 8d bc 27 00 00 00 00 83 ec 10 89 5c 24 04 89 c3 89 74 24 08 89 d6 89 7c 24 0c 89 c7 49 78 08 ac <aa> 84 c0 75 f7 f3 aa 89 d8 8b 74 24 08 8b 5c 24 04 8b 7c 24 0c
EIP: [<c02712f9>] strncpy+0x19/0x40 SS:ESP 0068:f7709c88
---[ end trace ca8c7b6d6a62df10 ]---


Nach der Bugmeldung habe ich schon gegoogelt, es gibt da einiges zu finden, aber wirklich schlau bin ich nicht draus geworden.

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »Ignatz« (23.03.2008, 10:19)


4

23.03.2008, 21:15

Hy Ignatz

Den läuft uvesafb also noch nicht?

Zitat aus dem Wiki:

Zitat

Hast du bereits einen Kernel vor 2.6.23 laufen und willst >=2.6.23 nutzen so lässt du einfach unter General Setup die Option (/usr/share/v86d/initramfs) Initramfs source file(s) zuerst leer und konfigurierst den 23er Kernel wie unten beschrieben. Dann muss einmalig dev-libs/klibc re-emerged werden! Nun sys-apps/v86d emergen und noch einmal den Kernel konfigurieren und /usr/share/v86d/initramfs in Initramfs source file(s) angeben.
Hast du dies befolgt?
Hast du dies nicht befolgt, könnte es der Grund sein warum der Kernel sich nicht Compilieren lässt.

Probiere es mal so:

Quellcode

1
2
emerge -av1 dev-libs/klibc
emerge -av sys-apps/v86d
und jetzt den Kernel noch mal neu Compilieren mit fest gesetzten uvesafb , und der Option (/usr/share/v86d/initramfs)

Ansonsten poste doch auch mal deine Kernel config (bitte als Anhang)

MfG
josef.95

5

23.03.2008, 22:22

Probiere es mal so:

Zitat

emerge -av1 dev-libs/klibc
emerge -av sys-apps/v86d


und jetzt den Kernel noch mal neu Compilieren mit fest gesetzten uvesafb , und der Option (/usr/share/v86d/initramfs)



Wichtig ist das nach dem emerge vom v86d nochmals die klibc emerged wird. Vorher ist es egal, wird wenn nicht drauf eh als Abhängigkeit installiert.


Viele Grüße

6

23.03.2008, 23:08

Wichtig ist das nach dem emerge vom v86d nochmals die klibc emerged wird. Vorher ist es egal, wird wenn nicht drauf eh als Abhängigkeit installiert.


Hm..
Siehe http://dev.gentoo.org/~spock/projects/uvesafb/

MfG
josef.95

7

23.03.2008, 23:15

Wichtig ist das nach dem emerge vom v86d nochmals die klibc emerged wird. Vorher ist es egal, wird wenn nicht drauf eh als Abhängigkeit installiert.


Hm..
Siehe http://dev.gentoo.org/~spock/projects/uvesafb/

MfG
josef.95



Dann schau mal hier!!!
http://de.gentoo-wiki.com/Kernel_manuell…6_2.6.24-gentoo

Zitat

Für das neue uvesafb extrem wichtig! Außerdem muss noch sys-apps/v86d emerged werden und danach muss EINMALIG dev-libs/klibc re-emerged werden.

8

23.03.2008, 23:26

@Planeshift

Ok, dann muss sich das mit kernel >=2.6.24 geändert haben.
Ich habe mein uvesafb einst unter Kernel 2.6.23 eingerichtet, funkt aber auch unter 2.6.24 noch einwandfrei.

MfG
josef.95

9

24.03.2008, 09:44

Hallo Josef, hallo Planeshift,

diese Punkte habe ich alle befolgt, das hatte ich auch vorher nicht überlesen. Leider bringt das bisher keinen Erfolg.
Die aktuelle .config habe ich mal angehängt.


Hast du dies befolgt?
Hast du dies nicht befolgt, könnte es der Grund sein warum der Kernel sich nicht Compilieren lässt.

Es gibt auch kein Problem beim Compilieren des Kernels, es funktioniert einfach der Bootsplash nicht. Ein kurzes Zögern an der Stelle beim hochfahren und dann geht es im Textmodus weiter.
Die Ausgabe von dmesg, die ich gepostet habe, erscheint, wenn ich uvesafb als Modul laden möchte. Es lässt sich nachwievor nicht fest in den Kernel compilieren. Oder hast du das gemeint?!

Dazu gleich noch eine Frage: Wo bzw. in welchem Logfile finde ich die Bootmeldungen wieder? Ich sehe bestimmte Meldungen vorbeiflimmern, die ich in dmesg nicht wiederfinde. Habe auch schon /var/log/ abgesucht.

Gruß,
Ignatz

10

24.03.2008, 18:43

Es lässt sich nachwievor nicht fest in den Kernel compilieren. Oder hast du das gemeint?!
Ja das meinte ich.

Zitat

Die aktuelle .config habe ich mal angehängt.
Hm.. Wo?

MfG
josef.95

11

24.03.2008, 20:11

Sorry, hier ist sie...
»Ignatz« hat folgende Datei angehängt:
  • .config.txt (53,39 kB - 3 mal heruntergeladen - zuletzt: 25.03.2008, 09:47)

12

24.03.2008, 21:58

Hallo Ignatz

Ich habe mir mal deine Kernel config angesehen, ich würde mal folgendes ändern:

Quellcode

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
# Console display driver support
#
CONFIG_VGA_CONSOLE=y
CONFIG_VGACON_SOFT_SCROLLBACK=y
CONFIG_VGACON_SOFT_SCROLLBACK_SIZE=128
CONFIG_VIDEO_SELECT=y
# CONFIG_MDA_CONSOLE is not set
CONFIG_DUMMY_CONSOLE=y
CONFIG_FRAMEBUFFER_CONSOLE=y
CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY=y
CONFIG_FRAMEBUFFER_CONSOLE_ROTATION=y      #Deaktivieren
CONFIG_FB_CON_DECOR=y
# CONFIG_FONTS is not set                 #Aktivieren
CONFIG_FONT_8x8=y
CONFIG_FONT_8x16=y
CONFIG_LOGO=y                    #Eventuell auch erst mal aus
CONFIG_LOGO_LINUX_MONO=y
CONFIG_LOGO_LINUX_VGA16=y
CONFIG_LOGO_LINUX_CLUT224=y

Und CONFIG_FB_UVESA=m fest rein!
Wenn das Compilieren des Kernels dann immer noch abbricht, dann Poste doch bitte die Fehlermeldung.
Bedenke dies ist erst mal der Versuch uvesafb zum laufen zu bringen, wenn der dann läuft dann kommt der Fbsplash dran ;)

MfG
josef.95

13

24.03.2008, 22:19

Hallo Josef,

wir haben da doch aneinander vorbei geredet. Der Kernel lässt sich problemlos compilieren.
Ich habe bei der Konfiguration nur keine Möglichkeit, uvesafb fest einzubinden. Es lässt sich nur <M> oder < > auswählen. Eine andere Möglichkeit (<*>) wird nicht angeboten.
Ich habe es zwar jetzt mal händisch in der .config eingetragen, aber auch das wird ignoriert.

Also bisher kein Änderung am aktuellen Zustand!

Gruß, Ignatz

14

24.03.2008, 22:59

Ah, jetzt ist der Groschen gefallen :-)

Um uvesafb fest einzubinden ist es wahrscheinlich notwendig andere FB Optionen auch fest zu setzen, zb

Quellcode

1
2
3
CONFIG_FB_CFB_FILLRECT=m
CONFIG_FB_CFB_COPYAREA=m
CONFIG_FB_CFB_IMAGEBLIT=m
Ich würde alle FB Optionen die du setzt fest eincompilieren, denn dieser soll doch so früh wie möglich beim booten deines Rechners zur Verfügung stehen.

MfG
josef.95

15

25.03.2008, 06:35

Guten Morgen Josef,

mir leuchtet ein, worauf das hinausläuft, aber auch mit dem festmachen der anderen Framebuffer-Sachen lässt sich uvesafb nicht fest einbinden.
Ist das bei dir problemlos möglich? Ich habe bisher keine Chance dazu.

Gruß,
Ignatz

16

25.03.2008, 09:51

Hab mir jetzt mal deine Konfiguration angeschaut.
Du musst natürlich "Connector - unified userspace <-> kernelspace linker" auch fest in den Kernel einbinden, dann geht es auch.

Woher weiß man das?
Alles was bei "Depends on" steht, muss fest rein, wenn es selber fest rein soll...

Quellcode

1
2
3
4
5
6
7
8
9
Symbol: FB_UVESA [=m]
Prompt: Userspace VESA VGA graphics support
  Defined at drivers/video/Kconfig:613     
  Depends on: HAS_IOMEM && FB && CONNECTOR 
  Location:          
    -> Device Drivers
      -> Graphics support                  
        -> Support for frame buffer devices (FB [=y])
  Selects: FB_CFB_FILLRECT && FB_CFB_COPYAREA && FB_CFB_IMAGEBLIT && FB_MODE_HELPERS
"Erst nachdem wir alles verloren haben, haben wir die Freiheit, alles zu tun."
"It's only after we've lost everything, that we're free to do anything!"

Jabber: Die ID kann via PN erfragt werden.

17

25.03.2008, 14:05

Du musst natürlich "Connector - unified userspace <-> kernelspace linker" auch fest in den Kernel einbinden, dann geht es auch.


So ist es auch auf Spocks Seite Beschrieben
http://dev.gentoo.org/~spock/projects/uvesafb/

Halte die Schritte wie sie auf der Seite beschrieben sind ein, dann sollte es auch klappen.

MfG
josef.95

18

25.03.2008, 19:00

So einfach war die Lösung!

Josef, es tut mir leid, dass ich dich sooo lange beschäftigt habe, aber "Connector - unified userspace <-> kernelspace linker" fest in den Kernel zu compilieren, habe ich wohl ständig überlesen.
Es klappt jetzt, einen Bootsplash habe ich auch, alles bestens.

Danke nochmal an alle, die mir hierbei geholfen haben!

Ignatz