PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Wichtige Frage zur Kernel konfiguration und zu "bootsplash"



SirAndreus
15.04.03, 14:36
hi,

ich habe versucht Bootsplash zum laufen zu bringen, vergebens ;)

ich habe redhat 8.0


während der installation, bzw, Vollendung sind mir folgende Sachen unklar:

um den Bootloader bearbeiten zu könnnen, muss man den kernel mit einer bestimmten Datein patschen und dann im kernel selbst (per zB. make menuconfig) paar änderungen vornehmen. Dann muss man den kernel neu kompilieren. So weit so gut.

Was mir aber nicht klar ist ist folgende Sache: man muss dann den "kernel" ins /boot kopieren. Was wird demit gemeint ? den kernel ordner ? bei mir: /usr/src/linux-2.4blabla/kernel ? oder eine bestimmte Datei ? wenn ja welche ????

und dann muss ich mich vergewissern ob ich im "bootloader" einen Eintrag für den kernel habe. Was wird damit gemeint ? und was muss ich genau machen.



hier noch paar Fragen zu bootsplash an sich:

1) läuft es auch Problemlos unter redhat Linux ? weil auf deren homepage (www.bootsplash.org) steht nix konkretes darüber

1) braucht man den LiLo Bootmanager ? oder kann ich weiterhin den standart Redhat Manager benutzen ?

thx im Voraus

zabriskie
15.04.03, 15:39
Na, wenn Du den Kernel kompiliert hast mit


make bzImage

dann ist der Kernel die Datei bzImage (irgendwo in /usr/src/linux-2.4.20/arch/i386/boot)

Die Datei kopierst Du in /boot und führst LILO oder das Redhat Equivalent aus (Ach, nenne die Datei um, damit Du keine eventuell vorhandene überschreibst!!!). Dazu must LILO entsprechend konfigurieren (Neuen Eintrag in /etc/lilo.conf)

Zu bootsplash kann ich Dir nichts sagen.

Zabriskie

:edit: Datei umbenennen!

HirschHeisseIch
15.04.03, 16:02
Ja, das geht auch mit RedHat. Geth nämlich mit jeder Distro. Und den Standard-Bootloader von RedHat kannst du auch benutzen. Ist wahrscheinlich eh lilo oder eben grub. Der kann das auch.

SirAndreus
15.04.03, 16:26
ja aber was muss ich in /etc/lilo.conf eingeben ? um zb. die Kernel Datei bzImage zu aktivieren.

bitte genaue Beschreibung / code. Kenne mich da nicht so gut aus

danke

tsuribito
15.04.03, 16:45
Kopiere den Eintrag deiner alten Linux und füge den nochmal ein mit anderem Label und ändere dann das Ziel auf /boot/neuerkernelmitsplash

SirAndreus
16.04.03, 11:07
das mit:

make bzImage funktionniert nicht, bzw wird nicht richtig abgeschlossen.

zuerst läuft es gut und man sieht wie es an bestimmten Sachen arbeitet, aber die letzten Zeilen sehen wie folgt aus:

fbcon.c: In function `fbcon_blank':
fbcon.c:1690: `oldscreen_base' undeclared (first use in this function)
fbcon.c:1690: (Each undeclared identifier is reported only once
fbcon.c:1690: for each function it appears in.)
fbcon.c:1692: `olddispsw' undeclared (first use in this function)
make[3]: *** [fbcon.o] Fehler 1
make[3]: Verlassen des Verzeichnisses Verzeichnis »/usr/src/linux-2.4.18-24.8.0/drivers/video«
make[2]: *** [first_rule] Fehler 2
make[2]: Verlassen des Verzeichnisses Verzeichnis »/usr/src/linux-2.4.18-24.8.0/drivers/video«
make[1]: *** [_subdir_video] Fehler 2
make[1]: Verlassen des Verzeichnisses Verzeichnis »/usr/src/linux-2.4.18-24.8.0/drivers«
make: *** [_dir_drivers] Fehler 2

also wird die Datei: bzImage nicht generiert :(

was kann ich machen ???


und nochwas: die Beschreibung über die lilo.conf.anaconda (bei mir ,wegen Redhat) habe ich immer noch nicht so gut verstanden, plz genauer erklären und nicht nur darauf hindeuten wie man es machen "sollte".... bin noch ein Anfänger.

Danke

zabriskie
16.04.03, 13:15
Das reicht leider nocht nicht. Kopiere mal doppelt soviel von dem, was er ausgibt, man braucht den gcc Aufruf um Dir (eventuell) weiterhelfen zu können.
Vielleicht versuchst Du das ganze aber auch nochmal hiermit, falls Du das noch nicht so getan haben solltest:


make mrproper &&
make menuconfig &&
make dep &&
make bzImage &&
make modules &&
make modules_install &&
cp arch/i386/boot/bzImage /boot/meinkernel

Ich habe mal meine LILO Datei angehängt. Auf gar keinen Fall so kopieren, Du musst die natürlich für deinen Computer konfigurieren. Lese auf jeden Fall mal die manpage:


man lilo.conf

Grüße,
Zabriskie

SirAndreus
16.04.03, 14:57
habe es nochmal versucht (mit mrproper) geht immer noch nicht :(

hier der Abschnitt aus der Console(+gcc Aufruf):

gcc -D__KERNEL__ -I/usr/src/linux-2.4.18-24.8.0/include -Wall -Wstrict-prototypes -Wno-trigraphs -O2 -fno-strict-aliasing -fno-common -fomit-frame-pointer -pipe -mpreferred-stack-boundary=2 -march=i686 -nostdinc -I /usr/lib/gcc-lib/i386-redhat-linux/3.2/include -DKBUILD_BASENAME=dummycon -c -o dummycon.o dummycon.c
gcc -D__KERNEL__ -I/usr/src/linux-2.4.18-24.8.0/include -Wall -Wstrict-prototypes -Wno-trigraphs -O2 -fno-strict-aliasing -fno-common -fomit-frame-pointer -pipe -mpreferred-stack-boundary=2 -march=i686 -nostdinc -I /usr/lib/gcc-lib/i386-redhat-linux/3.2/include -DKBUILD_BASENAME=vgacon -c -o vgacon.o vgacon.c
gcc -D__KERNEL__ -I/usr/src/linux-2.4.18-24.8.0/include -Wall -Wstrict-prototypes -Wno-trigraphs -O2 -fno-strict-aliasing -fno-common -fomit-frame-pointer -pipe -mpreferred-stack-boundary=2 -march=i686 -nostdinc -I /usr/lib/gcc-lib/i386-redhat-linux/3.2/include -DKBUILD_BASENAME=font_8x8 -c -o font_8x8.o font_8x8.c
gcc -D__KERNEL__ -I/usr/src/linux-2.4.18-24.8.0/include -Wall -Wstrict-prototypes -Wno-trigraphs -O2 -fno-strict-aliasing -fno-common -fomit-frame-pointer -pipe -mpreferred-stack-boundary=2 -march=i686 -nostdinc -I /usr/lib/gcc-lib/i386-redhat-linux/3.2/include -DKBUILD_BASENAME=font_8x16 -c -o font_8x16.o font_8x16.c
gcc -D__KERNEL__ -I/usr/src/linux-2.4.18-24.8.0/include -Wall -Wstrict-prototypes -Wno-trigraphs -O2 -fno-strict-aliasing -fno-common -fomit-frame-pointer -pipe -mpreferred-stack-boundary=2 -march=i686 -nostdinc -I /usr/lib/gcc-lib/i386-redhat-linux/3.2/include -DKBUILD_BASENAME=fbmem -DEXPORT_SYMTAB -c fbmem.c
gcc -D__KERNEL__ -I/usr/src/linux-2.4.18-24.8.0/include -Wall -Wstrict-prototypes -Wno-trigraphs -O2 -fno-strict-aliasing -fno-common -fomit-frame-pointer -pipe -mpreferred-stack-boundary=2 -march=i686 -nostdinc -I /usr/lib/gcc-lib/i386-redhat-linux/3.2/include -DKBUILD_BASENAME=fbcmap -DEXPORT_SYMTAB -c fbcmap.c
gcc -D__KERNEL__ -I/usr/src/linux-2.4.18-24.8.0/include -Wall -Wstrict-prototypes -Wno-trigraphs -O2 -fno-strict-aliasing -fno-common -fomit-frame-pointer -pipe -mpreferred-stack-boundary=2 -march=i686 -nostdinc -I /usr/lib/gcc-lib/i386-redhat-linux/3.2/include -DKBUILD_BASENAME=modedb -DEXPORT_SYMTAB -c modedb.c
gcc -D__KERNEL__ -I/usr/src/linux-2.4.18-24.8.0/include -Wall -Wstrict-prototypes -Wno-trigraphs -O2 -fno-strict-aliasing -fno-common -fomit-frame-pointer -pipe -mpreferred-stack-boundary=2 -march=i686 -nostdinc -I /usr/lib/gcc-lib/i386-redhat-linux/3.2/include -DKBUILD_BASENAME=fbcon -DEXPORT_SYMTAB -c fbcon.c
fbcon.c: In function `fbcon_blank':
fbcon.c:1690: `oldscreen_base' undeclared (first use in this function)
fbcon.c:1690: (Each undeclared identifier is reported only once
fbcon.c:1690: for each function it appears in.)
fbcon.c:1692: `olddispsw' undeclared (first use in this function)
make[3]: *** [fbcon.o] Fehler 1
make[3]: Verlassen des Verzeichnisses Verzeichnis »/usr/src/linux-2.4.18-24.8.0/drivers/video«
make[2]: *** [first_rule] Fehler 2
make[2]: Verlassen des Verzeichnisses Verzeichnis »/usr/src/linux-2.4.18-24.8.0/drivers/video«
make[1]: *** [_subdir_video] Fehler 2
make[1]: Verlassen des Verzeichnisses Verzeichnis »/usr/src/linux-2.4.18-24.8.0/drivers«
make: *** [_dir_drivers] Fehler 2

zabriskie
16.04.03, 15:41
Das sieht nach irgendeinem Problem im Framebuffer Teil vom Kernel aus. Ich habe ehrlich gesagt keine Ahnung, wie Du das lösen sollst, da der Framebuffersupport wahrscheinlich für "Bootsplash" benötigt wird und Du den dann wohl nicht so einfach abschalten kannst (was ich sonst tun würde). Wenn Du eine Breitbandverbindung hast, kannst Du von www.kernel.org den offiziellen Kernel herunterladen und versuchen den zu kompilieren. Kompiliert Dein Kernel denn ungepatcht? Da könnte ja auch was schiefgelaufen sein.
Ansonsten sorry - da weis ich auch nicht weiter :-(.

Zabriskie

P.S.: Die brutale Methode wäre die Datei fbcon.c zu hacken. Aber für den unwahrscheinlichen Fall, das dich das weiter bringen würde, hättest Du dann einen nicht vollständig funktionierenden Kernel. Also tue es nicht.

SirAndreus
16.04.03, 15:51
da hast du nicht ganz unrecht @zabriskie

ich habe nämlich den Patch des Kernels (für bootsplash benötigt) nochmal ausgeführt, folgende Befehlszeile musst ich dafür eingeben:

patch -p1 </root/Bootsplash/bootsplash-3.0.7-2.4.20-vanilla.diff

und folgende Meldung habe ich erhalten:

patching file drivers/char/console.c
Reversed (or previously applied) patch detected! Assume -R? [n] y
Hunk #1 succeeded at 3027 (offset 20 lines).
patching file drivers/char/keyboard.c
Reversed (or previously applied) patch detected! Assume -R? [n] y
Hunk #1 succeeded at 243 (offset 4 lines).
patching file drivers/char/n_tty.c
Reversed (or previously applied) patch detected! Assume -R? [n] y
patching file drivers/video/Config.in
Reversed (or previously applied) patch detected! Assume -R? [n] y
Hunk #1 succeeded at 206 with fuzz 1 (offset -16 lines).
Hunk #2 succeeded at 331 (offset -2 lines).
Hunk #3 succeeded at 334 (offset -16 lines).
patching file drivers/video/Makefile
Reversed (or previously applied) patch detected! Assume -R? [n] y
Hunk #2 succeeded at 139 (offset -8 lines).
The next patch would create the file drivers/video/fbcon-jpegdec.c,
which already exists! Assume -R? [n] y
patching file drivers/video/fbcon-jpegdec.c
The next patch would create the file drivers/video/fbcon-jpegdec.h,
which already exists! Assume -R? [n] y
patching file drivers/video/fbcon-jpegdec.h
The next patch would create the file drivers/video/fbcon-splash.c,
which already exists! Assume -R? [n] y
patching file drivers/video/fbcon-splash.c
The next patch would create the file drivers/video/fbcon-splash.h,
which already exists! Assume -R? [n] y
patching file drivers/video/fbcon-splash.h
The next patch would create the file drivers/video/fbcon-splash16.c,
which already exists! Assume -R? [n] y
patching file drivers/video/fbcon-splash16.c
patching file drivers/video/fbcon.c
Reversed (or previously applied) patch detected! Assume -R? [n] y
Hunk #12 FAILED at 1568.
Hunk #13 succeeded at 1560 (offset -23 lines).
Hunk #15 succeeded at 2166 (offset -23 lines).
1 out of 16 hunks FAILED -- saving rejects to file drivers/video/fbcon.c.rej
patching file include/video/fbcon.h
Reversed (or previously applied) patch detected! Assume -R? [n] y
patching file kernel/panic.c
Reversed (or previously applied) patch detected! Assume -R? [n] y
Hunk #1 succeeded at 77 (offset 2 lines).
Hunk #2 succeeded at 95 with fuzz 2.


siehe da, Hunk #12 FAILED at 1568 :( :( :( während er fbcon.c patchen wollte,

was kann man da machen ? liegt es an der Patsch datei bootsplash-3.0.7-2.4.20-vanilla.diff ?


danke im Voraus

SirAndreus
16.04.03, 16:01
hm auf bootsplash.org steht folgende Beschreibung zum .diff File:

bootsplash version 3.0.7 (created 2003/03/10 against vanilla Linux 2.4.20)

ich meine against heißt doch Buchstäblich "gegen", oder wird damit gemeint, dass diese Version für den Kernel 2.4.20 gedacht ist ?

zabriskie
16.04.03, 16:08
Der Patch wurde anscheinend mit der original (=vanilla) Kernel Version 2.4.20 erzeugt. Das kann zu Problemen führen, wenn Du den Patch auf den mit Red Hat gelieferten Kernel anwendest der nicht identisch mit dem original Kernel ist (Bei SuSE weis ich, dass die den Kernel noch verändern). Patch ist eigentlich recht intelligent, aber je nachdem wie viel die von Red Hat geändert haben, klappt es nicht. Also ist die Lösung den original Kernel von www.kernel.org herunterzuladen und es damit zu versuchen.

Viel Glück!
Zabriskie