Kernel 2.4.9 & SuSE 7.2

Post Reply
Message
Author
Andre

Kernel 2.4.9 & SuSE 7.2

#1 Post by Andre »

Hi,
ich habe den Kernel 2.4.9 unter SuSE7.2 kompiliert. Das ".config-File" habe ich weitestgehend von "/boot/vmlinuz.config" übernommen.
Der Kernel bootet soweit auch fehlerfrei. Allerding habe ich Probleme mit den modulen die nachträglich ins System geladen werden. Beim laden der Soundkarten-Treiber (Creativ PCI 512 / "alsaconfig") kommt folgende Meldung:
"modprobe: Cant open dependencies file /lib/modules/2.4.9/modules.dep (No such file or directory)"
Ein "ln -s /lib/modules/2.4.4-4G /lib/modules/2.4.9" führt auch zu Problemen, da diese scheinbar speziell aufden Kernel 2.4.4 abgestimmt sind....
Ein erneuter Versuch mit "alsaconfig" die Soundkarte zu erkennen schlägt fehl...
Wenn ich die Soundkarte fest in den Kernel einkompiliere funktioniert sie. Leider verliert jetzt "aumix" mit jedem booten seine Einstellungen.

Weiterhin habe ich noch ein 2. Problem:
Wenn ich mit dem Selbstkompiliertem Kernel mit "lpr testfile" einen text drucken möchte, nimmt er den Befehl wortlos an, druckt ihn aber nicht. Sobald ich dann den original-SuSE-Kernel starte druckt er dann alle angegebenen Dokumente.
Bei booten bekomme ich beim laden von "lpd" ein "done"...

Vielen Danke,
André

Andy E

Re: Kernel 2.4.9 & SuSE 7.2

#2 Post by Andy E »

Hast du, nachdem du die .config datei ins Kernel-Source-verz. kopiert hast, ein "make oldconfig" gemacht ?

Sind deine "modutils" neu genug ?
Ist zufällig die Datei "/lib/modules/2.4.9/modules.dep leer ? Dann ist dies der Fall.

Des weiteren glaube ich, dass man alsa neu installieren muss.

Andy

Sebastian Ude

Re: Kernel 2.4.9 & SuSE 7.2

#3 Post by Sebastian Ude »

Du hast wahrscheinlich das

make modules && make modules_install

vergessen.

Andre

Re: Kernel 2.4.9 & SuSE 7.2

#4 Post by Andre »

Hi,

ich habe lediglich "make dep/clean/bzImage" durchgeführt, den Kernel nach "/boot/bzImage" kopiert und den Bootmanager lilo angepasst...
Was muss ich genau durchführen um die Module zu erstellen/installieren?

Danke,
André

Sebastian Ude

Re: Kernel 2.4.9 & SuSE 7.2

#5 Post by Sebastian Ude »

Wie ich bereits sagte, ein

make modules && make modules_install

übernimmt alle notwendigen Schritte für dich.

Andre

Re: Kernel 2.4.9 & SuSE 7.2

#6 Post by Andre »

Hmm...
Soweit eigentlich einfach und kein Problem,
aber... <img src="http://www.pl-forum.de/UltraBoard/Images/Wilk.gif" border="0" align="middle">

ich bekomme folgende Meldung während des kompilierens:

"make<font size="2">: Entering directory `/usr/src/linux-2.4.9/drivers/net'
gcc -D__KERNEL__ -I/usr/src/linux-2.4.9/include -Wall -Wstrict-prototypes -Wno-trigraphs -O2 -fomit-frame-pointer -fno-strict-aliasing -fno-common -pipe -mpreferred-stack-boundary=2 -march=i586 -DMODULE -c -o plip.o plip.c
gcc -D__KERNEL__ -I/usr/src/linux-2.4.9/include -Wall -Wstrict-prototypes -Wno-trigraphs -O2 -fomit-frame-pointer -fno-strict-aliasing -fno-common -pipe -mpreferred-stack-boundary=2 -march=i586 -DMODULE -c -o rrunner.o rrunner.c
rrunner.c:1241: macro `min' used with only 2 args
rrunner.c:1252: macro `min' used with only 2 args
rrunner.c: In function `rr_dump':
rrunner.c:1241: parse error before `__x'
rrunner.c:1241: `__x' undeclared (first use in this function)
rrunner.c:1241: (Each undeclared identifier is reported only once
rrunner.c:1241: for each function it appears in.)
rrunner.c:1241: `__y' undeclared (first use in this function)
rrunner.c:1252: parse error before `__x'
rrunner.c:1221: warning: `len' might be used uninitialized in this function
make<font size="2">: *** [rrunner.o] Error 1
make<font size="2">: Leaving directory `/usr/src/linux-2.4.9/drivers/net'
make<font size="1">: *** [_modsubdir_net] Error 2
make<font size="1">: Leaving directory `/usr/src/linux-2.4.9/drivers'
make: *** [_mod_drivers] Error 2"

.. und der kompiliervorgang bricht ab...

André

Sebastian Ude

Re: Kernel 2.4.9 & SuSE 7.2

#7 Post by Sebastian Ude »

Öffne mal die Datei

linux/drivers/net/rrunner.c

mit dem Editor deiner Wahl und suche diese Zeilen:

<i>#include <asm/byteorder.h>
#include <asm/io.h>
#include <asm/irq.h>
#include <asm/uaccess.h></i>

(Relativ weit oben, etwa bei Z. 50)

Und füge nach den besagten Zeilen folgendes ein:

#undef min
#define min(x,y) (((x)<(y))?(x):(y))

Sodass der Abschnitt in der Sourcefile so aussieht:

<i>[...]

#include <asm/byteorder.h>
#include <asm/io.h>
#include <asm/irq.h>
#include <asm/uaccess.h>

#undef min
#define min(x,y) (((x)<(y))?(x):(y))

#if (LINUX_VERSION_CODE < 0x02030e)
#define net_device device
#endif

[...]</i>

Und setz danach noch einmal ein

make modules && make modules_install

ab (sollte einwandfrei durchlaufen).


Das *ist* ein Bug, er existiert zumindest auch noch in 2.4.10-pre2, also melde das Problem und die Lösung bitte der Kernel-Mailingliste oder dem Treiberautor (Jes.Sorensen@cern.ch).


Nichts desto trotz kannst du den Treiber aber auch unter

"Network device support -> HIPPI driver support -> Essential RoadRunner HIPPI PCI adapter support" (CONFIG_ROADRUNNER)

deaktivieren, oder hast du solche (HIPPI Road Runner PCI) Netzwerk-Hardware (höchst unwahrscheinlich) ?


PS:

Ich lege dir nochmal dringlichst ans Herz, dieses Problem und die Lösung zu reporten.

Danke.

Andre

Re: Kernel 2.4.9 & SuSE 7.2

#8 Post by Andre »

Hi,

da kompilieren funktioniert jetzt ohne Probleme - danke <img src="http://www.pl-forum.de/UltraBoard/Images/Wilk.gif" border="0" align="middle">
Ich schicke gleich noch die Mail los....

Der Drucker lässt sich nun auch anständig unter Linux ansprechen.
Leider macht das System noch mit meiner Soundkarte (Creativ PCI512) Probleme.
Im Kernel habe ich die Soundkarten-Treiber (wie im Orig-SuSE-Kernel) auf Modul gestellt.
Sobald ich den Kernel 2.4.9 starte lässt sich die Karte so nicht mehr ansprechen. Beim Bootvorgang erhalte ich folgende Meldung:
"Starting sound driver: snd-card-emu10k1 modprobe: Cant locate module snd-card-emu10k1"
Ein erneuter Versuch die Soundkarte mit alsaconfig zu konfigurieren schlägt fehl.

Was ich zur not machen könnte, wäre eine festes einbinden in den Kernel (funktioniert!), aber ich möchte eigentlich, wenn es geht, erstmal weitesgehend SuSE-Komform bleiben <img src="http://www.pl-forum.de/UltraBoard/Images/Wilk.gif" border="0" align="middle">
(Das eigene Linux [LFS] wird dann speziel auf mein System angepasst <img src="http://www.pl-forum.de/UltraBoard/Images/Wilk.gif" border="0" align="middle"> )

André

Sebastian Ude

Re: Kernel 2.4.9 & SuSE 7.2

#9 Post by Sebastian Ude »

> [...] snd-card-emu10k1 [...]

Du vewendest also ALSA-Treiber.

Und die ALSA-Treibermodule sollten nach einem Kernelupdate ebenfalls neu übersetzt werden.

Schnapp dir am besten die aktuellen stable (0.5.11) alsa-driver-Quellen von:

<a href="http://www.alsa-project.org" target="_blank"><!--auto-->http://www.alsa-project.org</a><!--auto-->

Deinstalliere das "alsa-driver"-Paket von SuSE, compiliere die heruntergeladenen alsa-driver-Sources und setz ein "make install" ab (alternativ könntest du dir wahrscheinlich auch das alsa-drivers-SRPM von der entsprechenden SuSE-CD holen und rebuilden).

So bleibst du ziemlich SuSE-Konform, da du ja nur die ALSA-Treibermodule für die alte Kernelversion vom System kickst und diese Quellen der Treiber für den neuen Kernel übersetzt und installierst.

Andre

Re: Kernel 2.4.9 & SuSE 7.2

#10 Post by Andre »

Hi,

es klappt jetzt alles <img src="http://www.pl-forum.de/UltraBoard/Images/Wilk.gif" border="0" align="middle">


thnxs,
André

Sebastian Ude

Re: Kernel 2.4.9 & SuSE 7.2

#11 Post by Sebastian Ude »

Nichts zu danken - ein Bugreport mehr, ein Bug weniger.

Post Reply