Modul für laufenden Kernel nachkompilieren

Welches Modul/Treiber für welche Hardware, Kernel compilieren...
Antworten
zynix
Beiträge: 103
Registriert: 12.04.2003 14:17:37

Modul für laufenden Kernel nachkompilieren

Beitrag von zynix » 24.11.2003 22:11:27

Hallo Forum,

ich hab mir im Juni einen 2.4.20 er Kernel gebaut, viel zeitlicher Aufwand,
aber alles läuft. NVidia Treiber, Philips TV Karte, Sound usw..

Jetzt fällt mir auf, das es für mein IDE Chipset (SiS5513) einen speziellen
Treiber gibt, den ich natürlich nicht im Kernel habe. Ich will und kann nicht
wieder viel Zeit für einen neuen Kernel investieren (die sourcen hab ich in
der Zwischenzeit gelöscht :cry: ).

Deshalb wollte ich mal fragen, ob und wie es möglich ist ein Modul quasi
nachzukompilieren, d. h. ich pack die originalquellen wieder aus, und mache
nur das Modul neu und installiere es.

Wäre es vielleicht sogar bei einem nachladbaren Modul möglich einfach
einen neuen Kernel zu backen (nicht zu installieren) und dann
das Modul einfach in das entsprechende Verzeichnis zu kopieren?

Wie stehen eigentlich die Aussichten das sich das merkbar auf die Performance
des Rechners auswirkt?

Danke & Tschüß
Dieter

Benutzeravatar
bollin
Beiträge: 482
Registriert: 01.11.2003 23:31:33
Wohnort: Berlin
Kontaktdaten:

Re: Modul für laufenden Kernel nachkompilieren

Beitrag von bollin » 24.11.2003 23:52:31

zynix hat geschrieben: Wäre es vielleicht sogar bei einem nachladbaren Modul möglich einfach
einen neuen Kernel zu backen (nicht zu installieren) und dann
das Modul einfach in das entsprechende Verzeichnis zu kopieren?
Ja geht, solange du die alte .config nimmst und keine dramatischen Veränderungen machst. Einfach die entstehenden *.debs installieren und gut ist. Mit gelöschten Kernelquellen wird es schwierig, d. h. du solltest möglichst die gleichen Quellen nehmen.

Torsten

zynix
Beiträge: 103
Registriert: 12.04.2003 14:17:37

Beitrag von zynix » 25.11.2003 22:15:58

Hi Thorsten,

leider läßt sich in der Kernelconfig der Treiber nicht als Modul auswählen.
Aber ich werde am Wochenende mal probieren einen neuen Kernel zu backen
und die alten Module dazu zu kopieren.

In einer alten Datensicherung hab ich zu meiner Überraschung doch noch
die Kernelsources und alle später installierten Treiber gefunden. Damit sollte
es doch klappen :wink:

Wenn's nicht klappt, komme ich problemlos wieder auf den status quo zurück.

Datensicherung ist echt was feines :)

Danke für den Tip
Dieter

Torsten
Beiträge: 384
Registriert: 24.09.2002 22:51:07
Kontaktdaten:

Beitrag von Torsten » 28.11.2003 09:32:42

Moinsen,

hast Du den Treiber in den Sourcen vorliegen?
Wenn ja, dann daraus ein Modul erstellen und via insmod laden (wenn denn der Kernel ladbare Module unterstützt).

Grüße

Torsten

zynix
Beiträge: 103
Registriert: 12.04.2003 14:17:37

Beitrag von zynix » 28.11.2003 18:24:00

'n Aaaabend,

soweit ich das verstanden hatte, läßt sich dieser Treiber nicht als Modul einbinden,
also entweder fest oder gar nicht.

Ich hab also doch einen neuen Kernel mit der alten .config gebaut, und alles bis auf
Xawtv läuft bestens. Und das krieg ich auch wieder hin :twisted:

<edit> Done! </edit>

Irgendeine Performaceänderung kann ich aber nicht feststellen. Buggy kam mir mein
System bisher nicht vor. Wozu also dann so'n Treiber?

Wie kann man denn ein Modul 'von Hand' kompilieren? Die haben alle irgendwo ein
Makefile, aber ich hab keinen schimmer wie ich dieses Teil benutzen kann (Jaaaa, ich
kann das bestimmt irgendwo selbst finden, aber es biedert sich gerade mal so an).

Tschüß
Dieter
Zuletzt geändert von zynix am 28.11.2003 20:00:48, insgesamt 1-mal geändert.

Torsten
Beiträge: 384
Registriert: 24.09.2002 22:51:07
Kontaktdaten:

Beitrag von Torsten » 28.11.2003 18:32:06

Moinsen,

ok, dann hat es ja anscheinend geklappt.

Zur Info (falls Du mal ein Modul selbst bauen willst):
Ein Makefile ist eigentlich immer dabei. Alles andere wäre sehr schlecht.
Dann reicht ein einfaches "make" meist aus und das Modul wird gebaut. Du hast dann eine bla.o Datei liegen.
Das Kommando "insmod bla.o" lädt dann dieses Modul (als root). Mit "lsmod" kannst Du Dir einen Überblick über die geladenen Module verschaffen. Mittels "rmmod bla" wird das Modul wieder entfernt.
Dabei mit einem Auge nach /var/log/messages schauen. ;-)

Grüße

Torsten

zynix
Beiträge: 103
Registriert: 12.04.2003 14:17:37

Beitrag von zynix » 28.11.2003 18:58:11

Mann, du bist aber hartnäckig
Moinsen
Halt, Stop! Du bist ein Nordlicht! Sorry.

Dann nochma' von vorn':
Moin Thorstensen, :D

das mit dem make sieht dann so aus:
dieter@aldi:~$ su
Password:
aldi:/home/dieter# mc
aldi:/usr/src/linux-2.4.21/drivers/i2c# make
Makefile:28: /Rules.make: No such file or directory
make: *** No rule to make target `/Rules.make'. Stop.
Press any key to continue...
Ich hab eine andere Source gewählt um meine aktuellen nicht zu versauen.
Dabei mit einem Auge nach /var/log/messages schauen.
und mit beiden Ohren Rory Gallagher zuhören 8)

Tschüß
Dieter

Torsten
Beiträge: 384
Registriert: 24.09.2002 22:51:07
Kontaktdaten:

Beitrag von Torsten » 28.11.2003 19:16:38

Moinsen,

ja, ein Nordlicht. Wahlweise.

Torsten, nicht Thorsten ;-)

Am Pfad sehe ich, dass es ein Treiber aus dem Kernel Package ist. Richtig?
Der ist dann leider recht pervers mit dem gesamten Makefile des Kernels verbunden. Das dort rausoperieren ist nicht ganz ohne und bestimmt kein guter Weg.

Grüße

Torsten

zynix
Beiträge: 103
Registriert: 12.04.2003 14:17:37

Beitrag von zynix » 28.11.2003 19:35:29

Oh, Verzweiflung!

Ja, es ist ein Treiber aus dem org.Kernel, und lasse davon schöööön die Finger.

<smalltalk> Bin jetzt bei ZZ Top, deshalb 8) 8) 8) </smalltalk>
D.

Torsten
Beiträge: 384
Registriert: 24.09.2002 22:51:07
Kontaktdaten:

Beitrag von Torsten » 28.11.2003 19:41:20

Na dann noch viel Spass.

Und ich gerade beim Zweibelschneiden.

Grüße

Torsten

Antworten