muss Modul erstellen

Warum Debian und/oder eine seiner Spielarten? Was muss ich vorher wissen? Wo geht es nach der Installation weiter?
Benutzeravatar
Mastermind
Beiträge: 62
Registriert: 04.01.2003 23:47:16

muss Modul erstellen

Beitrag von Mastermind » 27.03.2005 09:46:14

Hi Leute,

erstmal vorab, ich hab scho Suchfunktion benutzt und auch schon hier rumgeschaut und auch über Google und hab bis jetzt keine passende Antowort gefunden zu meim Problem:

Ich möchte für meine Netzwerkkarte ein Treiber installieren als Modul, jetzt hab ich vom Hersteller den Treiber runtergeladen und der liegt jetzt aber nur als C Quellcode vor. Jetzt muss man da irgendwas mit

Code: Alles auswählen

make install
machen glaub ich aber da sagt mir der pc dass noch einige Pakete dazu fehlen und ich jetzt nich weiß wie ich weiter machen soll. Vielleicht kann mir jemand helfen oder mir ein Link posten wo ich nachlesen kann wie man generell n Modul kompiliert und dann ins System einbindet?

Dank schomal!

Benutzeravatar
Savar
Beiträge: 7174
Registriert: 30.07.2004 09:28:58
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Berlin

Beitrag von Savar » 27.03.2005 11:00:40

hmm.. ich kenn leider keinen Link.. aber ganz generell (so als Beispiel für Modulkompilierung)

Du brauchst (soweit ich weiß):

Das Programm
Den Kernelquellcode
Zusätzliche Librarys falls das Programm sie braucht

nehmen wir an du hast einen Treiber runtergeladen: e1000.0.1.9.tgz

dann so theoretisch der Ablauf:

Code: Alles auswählen

# Kernelsourcen holen, entpacken:
apt-get install kernel-source-2.X.X
cd /usr/src
tar xvjf kernel-source-2.X.X.tar.bz2
ln -s /usr/src/kernel-source-2.X.X /usr/src/linux

# Modul bauen
cd /tmp
tar xvzf /pfad/zur/datei/e1000.0.1.9.tgz
cd e1000.0.1.9
./configure
# Nach dem configure könnten jetzt fehler auftauchen, da er noch was braucht
# da müsste man dann per apt-get entsprechende Bibliotheken nachinstallieren
# Wenns geklappt hat:
make
# wenn keine Fehler entstanden sind
make install
# Kernelmodul laden:
modprobe e1000
es kann sein das es nicht reicht die Kernelsourcen einfach zu entpacken, sondern das man noch ein spezielles "make" durchführen muss
MODVOICE/MYVOICE
Debianforum Verhaltensregeln
Log Dateien? -> NoPaste

Benutzeravatar
Mastermind
Beiträge: 62
Registriert: 04.01.2003 23:47:16

Beitrag von Mastermind » 27.03.2005 20:46:59

Hi Du hast sogar Recht, es ist der Intel e1000 Treiber den ich installieren möchte.

Also ich hab Debian Basisversion installiert mit Kernel 2.4.18

Wenn ich mach

Code: Alles auswählen

apt-get install kernel-source-2.4.18
sagt er mir:

Code: Alles auswählen

E: Couldnt find package "kernel-source-2.4.18"

oder so ähnlich. Ich hab unter Linux noch kein Internetzugang und hab des Debian von der 1. CD installiert. Das hat soweit auch ganz gut funktioniert.

Aber wieso muss ich überhaupt die Kernel Sourcen installieren? Ich hab den Treiber runtergeladen und ich denke, dass man da nur ein Compiler braucht, der den fertigen Treiber dann baut, aber warum die Kernel sourcen ist mir nicht klar.

Benutzeravatar
KBDCALLS
Moderator
Beiträge: 22456
Registriert: 24.12.2003 21:26:55
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Dortmund
Kontaktdaten:

Beitrag von KBDCALLS » 27.03.2005 22:00:18

Die Sourcen selbst ist garkeine so gute Idee , Es müssen die Kernelheaders passend zum Kernel installiert werden. . Du hast doch bestimmt noch mehr CDs ?
Was haben Windows und ein Uboot gemeinsam?
Kaum macht man ein Fenster auf, gehen die Probleme los.

EDV ist die Abkürzung für: Ende der Vernunft

Bevor du einen Beitrag postest:
  • Kennst du unsere Verhaltensregeln
  • Lange Codezeilen/Logs gehören nach NoPaste, in Deinen Beitrag dann der passende Link dazu.

Benutzeravatar
Mastermind
Beiträge: 62
Registriert: 04.01.2003 23:47:16

Beitrag von Mastermind » 28.03.2005 02:26:50

ne ich hab nur die eine CD runtergeladen und gebrannt. Ich wollte die andern Sachen übers Internet / Netzwerk installieren. Aber ich kann vielleicht was auf de USB stick laden und von da aus installieren.
Muss ich jetzt die Kernel sourcen installieren um mein Modul zu kompilieren oder gibts noch ne einfachere Art dafür?

Benutzeravatar
KBDCALLS
Moderator
Beiträge: 22456
Registriert: 24.12.2003 21:26:55
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Dortmund
Kontaktdaten:

Beitrag von KBDCALLS » 28.03.2005 10:19:12

Die Sourcen helfen dir garnicht. Du brauchst die passenden Kernelheaders. Zum Beispiel kernel-headers-2.4.27-2-k6 . Aber wie gesagt die müssen zu deinem 2.4.18 exakt passen.

Und falls du dir nicht sicher bist wie sie heißen.

Code: Alles auswählen

 apt-cache search kernel-headers
Seh gearde vorher wirste deine

Code: Alles auswählen

 /etc/apt/sources.list 
richtg anpassen müssen und eine

Code: Alles auswählen

 apt-get update
machen müssen. Wenn du nur die erste CD hast hast dann ist klar das du keine Sourcen etc. findest.
Zuletzt geändert von KBDCALLS am 30.03.2005 09:04:55, insgesamt 1-mal geändert.
Was haben Windows und ein Uboot gemeinsam?
Kaum macht man ein Fenster auf, gehen die Probleme los.

EDV ist die Abkürzung für: Ende der Vernunft

Bevor du einen Beitrag postest:
  • Kennst du unsere Verhaltensregeln
  • Lange Codezeilen/Logs gehören nach NoPaste, in Deinen Beitrag dann der passende Link dazu.

Benutzeravatar
eagle
Beiträge: 2282
Registriert: 05.11.2002 11:20:53
Wohnort: Berlin

Beitrag von eagle » 28.03.2005 17:34:50

Das Modul für e1000 für den Gigabit Ethernet Controller ist bei alles Debian Standart Kerneln per default dabei,

eagle
"I love deadlines. I love the whooshing sound they make as they fly by." -- Douglas Adams

Benutzeravatar
KBDCALLS
Moderator
Beiträge: 22456
Registriert: 24.12.2003 21:26:55
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Dortmund
Kontaktdaten:

Beitrag von KBDCALLS » 28.03.2005 19:17:54

Das Modul findest du aber nicht in einem steinalten Kernel 2.4.18.
Was haben Windows und ein Uboot gemeinsam?
Kaum macht man ein Fenster auf, gehen die Probleme los.

EDV ist die Abkürzung für: Ende der Vernunft

Bevor du einen Beitrag postest:
  • Kennst du unsere Verhaltensregeln
  • Lange Codezeilen/Logs gehören nach NoPaste, in Deinen Beitrag dann der passende Link dazu.

Benutzeravatar
Mastermind
Beiträge: 62
Registriert: 04.01.2003 23:47:16

Beitrag von Mastermind » 28.03.2005 21:19:32

Hey Jungs,

2.4.18 Steinalt? Das war die neueste Version auf der CD... Ihr macht mir Angst. Ich wollte erst mal noch mit dem Kernel kompilieren warten, erst mal den Treiber per Modul laden.

@KBDCALLS>
Ich checke das wenn ich wieder daheim bin, bin noch auf der Arbeit.


Wie ist das jetzt, brauch ihc die Kernelsourcen oder die Kernelheaders, und was ist der unterschied?

Ich weiss meine Fragerei is bloed, aber ich find sonst keine Infos im Netz. Hab auch schon das http://www.debiananwenderhandbuch.de durschgeschlendert, aber da find ich auch nix ueber Modul kompilieren. Solche generellen Infos sind sowieso schwer zu finden scheint mir. Oder lieg ich da falsch?

Benutzeravatar
KBDCALLS
Moderator
Beiträge: 22456
Registriert: 24.12.2003 21:26:55
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Dortmund
Kontaktdaten:

Beitrag von KBDCALLS » 28.03.2005 22:01:28

Sieh mal bei http://www.backports.org vorbei , da kannst du dir einen aktuelleren Kernel holen. Und der Ist 2.4.27. Zwar auch nicht das aktuellste , aber wesentlich neuer. Und da kannst du dir Treiberkompiliererei sparen.

Bei den kernel-headers sind einige Datein dabei, die erst bei der Konfiguration des Kernels erstellt werden. Die sich so nicht bei den Kernelsourcen finden lassen.

PS . Das Changelog des Kernels 2.4.18 ist vom 25 Feb.2002
Was haben Windows und ein Uboot gemeinsam?
Kaum macht man ein Fenster auf, gehen die Probleme los.

EDV ist die Abkürzung für: Ende der Vernunft

Bevor du einen Beitrag postest:
  • Kennst du unsere Verhaltensregeln
  • Lange Codezeilen/Logs gehören nach NoPaste, in Deinen Beitrag dann der passende Link dazu.

Benutzeravatar
Mastermind
Beiträge: 62
Registriert: 04.01.2003 23:47:16

Beitrag von Mastermind » 30.03.2005 08:54:51

also, ich habs versucht:

Code: Alles auswählen

apt-cache search kernel-headers
bringt keine Meldung, gar nix. Scheint nicht zu funktionieren

In meiner

Code: Alles auswählen

/etc/apt/sources.list
steht nur der Eintrag vom cd Laufwerk (und das is ja glaub ich auch richtig so)

und

Code: Alles auswählen

apt-get update 
bringt 2 mal ein Done. Das wars.

Ich will doch nur das verda..... Modul kompilieren. Sonst nix...

Benutzeravatar
KBDCALLS
Moderator
Beiträge: 22456
Registriert: 24.12.2003 21:26:55
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Dortmund
Kontaktdaten:

Beitrag von KBDCALLS » 30.03.2005 09:07:29

Wenn du nur die 1 CD hast wirst du die garantiert nicht finden. Da kannst du noch so oft ein

Code: Alles auswählen

apt-get update
machen wie du willst, da wird sich nichts ändern,

Ein Eintrag in der

Code: Alles auswählen

 /etc/apt/sources.list 
könnte für Woody so aussehen.

Code: Alles auswählen

 
deb ftp://ftp.nl.debian.org/debian woody main contrib non-free
deb ftp://ftp.nl.debian.org/debian-non-US woody non-US/main non-US/contrib non-US/non-free
Was haben Windows und ein Uboot gemeinsam?
Kaum macht man ein Fenster auf, gehen die Probleme los.

EDV ist die Abkürzung für: Ende der Vernunft

Bevor du einen Beitrag postest:
  • Kennst du unsere Verhaltensregeln
  • Lange Codezeilen/Logs gehören nach NoPaste, in Deinen Beitrag dann der passende Link dazu.

Benutzeravatar
mauser
Beiträge: 1854
Registriert: 27.01.2005 22:34:48

Beitrag von mauser » 30.03.2005 11:01:11

ich glaube die debian ftp's werden ihm wenig bringen wenn er net ins netz kann :)
hast du net ne anderer standart netzwerkkarte die du mal vorrübergehend reinstecken kannst? oder wie wärs mit knoppix booten und dann den neuen kernel aus den backports auf platte ziehen?

Benutzeravatar
KBDCALLS
Moderator
Beiträge: 22456
Registriert: 24.12.2003 21:26:55
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Dortmund
Kontaktdaten:

Beitrag von KBDCALLS » 30.03.2005 11:14:21

Das hab ich ganz vergessen. Aber er könnte ja das Deb unter Windows ziehen auf Fat32 ablegen oder auf CD-RW
Was haben Windows und ein Uboot gemeinsam?
Kaum macht man ein Fenster auf, gehen die Probleme los.

EDV ist die Abkürzung für: Ende der Vernunft

Bevor du einen Beitrag postest:
  • Kennst du unsere Verhaltensregeln
  • Lange Codezeilen/Logs gehören nach NoPaste, in Deinen Beitrag dann der passende Link dazu.

Benutzeravatar
mauser
Beiträge: 1854
Registriert: 27.01.2005 22:34:48

Beitrag von mauser » 30.03.2005 11:17:22

windows ? ? ? da bevorzuge ich doch lieber knoppix ;-) aber klar, wenn er es denn auch auf dem pc hat kann er es sicherlich auch so machen..

Benutzeravatar
Joghurt
Beiträge: 5244
Registriert: 30.01.2003 15:27:31
Wohnort: Hamburg
Kontaktdaten:

Beitrag von Joghurt » 30.03.2005 14:38:53

@Mastermind: Willst du einen Server aufsetzen? Wenn nicht, dann installiere dir lieber Sarge als Woody, hat auch eingebaute Hardwareerkennung.
Such mal im Forum nach netinstall.

Benutzeravatar
Mastermind
Beiträge: 62
Registriert: 04.01.2003 23:47:16

Beitrag von Mastermind » 30.03.2005 21:11:23

@ Joghurt:
Ne das Linux soll fuer mein Notebook sein, ich bins win so langsam leid...

@ all:
Was ich machen kann, ich kann die DEB s auf mein USB stick ziehen, auf den hab ich zugriff. Das muesste gehen. Also Ihr meint erst mal ein neuer Kernel installieren?

Eigentlich wollte ich nur das Netzwerkmodul kompilieren und sehen dass ich es zum laufen bring. Mit Kernelsachen rumexperimentieren da krieg ich wackelige Knie...

Also welche Pakete brauch ich nochmal genau, koennt Ihr mir das nochmal sagen?

Benutzeravatar
KBDCALLS
Moderator
Beiträge: 22456
Registriert: 24.12.2003 21:26:55
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Dortmund
Kontaktdaten:

Beitrag von KBDCALLS » 30.03.2005 21:28:09

Nimm erst mal diesen Kernel.

kernel-image

und


modutils


Und das dann einfügen in

Code: Alles auswählen

/etc apt/sources.list

Code: Alles auswählen

 http://www.backports.org/debian stable all 
Was haben Windows und ein Uboot gemeinsam?
Kaum macht man ein Fenster auf, gehen die Probleme los.

EDV ist die Abkürzung für: Ende der Vernunft

Bevor du einen Beitrag postest:
  • Kennst du unsere Verhaltensregeln
  • Lange Codezeilen/Logs gehören nach NoPaste, in Deinen Beitrag dann der passende Link dazu.

Benutzeravatar
Mastermind
Beiträge: 62
Registriert: 04.01.2003 23:47:16

Beitrag von Mastermind » 30.03.2005 22:42:25

Uhahh...
ich hab doch keine Ahnung von Kernel installieren...
Aber ich kanns mal versuchen.

Fuer was brauch ich die Modutils? Kann ich mit denen dann mein Treiberlein kompilieren?

Benutzeravatar
Savar
Beiträge: 7174
Registriert: 30.07.2004 09:28:58
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Berlin

Beitrag von Savar » 30.03.2005 22:49:43

beim neueren Kernel ist dein Treiber schon mit drin.. da brauchst du nicht kompilieren..
MODVOICE/MYVOICE
Debianforum Verhaltensregeln
Log Dateien? -> NoPaste

Benutzeravatar
KBDCALLS
Moderator
Beiträge: 22456
Registriert: 24.12.2003 21:26:55
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Dortmund
Kontaktdaten:

Beitrag von KBDCALLS » 30.03.2005 23:30:06

Mastermind hat geschrieben:Uhahh...
ich hab doch keine Ahnung von Kernel installieren...
Aber ich kanns mal versuchen.

Fuer was brauch ich die Modutils? Kann ich mit denen dann mein Treiberlein kompilieren?
Ne modutils hat nichts mit kompilieren zu tun, wird aber dazu benötigt um den Kernel in die Lage zu versetzen die Module zu laden.

Achso hat ich noch fast vergessen die werden auch noch gebraucht.


initrd-tools
Was haben Windows und ein Uboot gemeinsam?
Kaum macht man ein Fenster auf, gehen die Probleme los.

EDV ist die Abkürzung für: Ende der Vernunft

Bevor du einen Beitrag postest:
  • Kennst du unsere Verhaltensregeln
  • Lange Codezeilen/Logs gehören nach NoPaste, in Deinen Beitrag dann der passende Link dazu.

Benutzeravatar
Mastermind
Beiträge: 62
Registriert: 04.01.2003 23:47:16

Beitrag von Mastermind » 14.04.2005 22:30:57

Hey, da bin ich mal wieder...

ich hab mal die Kernel Sourcen installiert mit

Code: Alles auswählen

dpkg -i kernel-source-2.4.18.deb
und er hat gemeint er hats installiert

und dann will ich das Modul erstellen mit

Code: Alles auswählen

make install
und er meldet mir

Code: Alles auswählen

Makefile:65: ***Linux kernel source not found.   Stop.
jetzt hab ich im makefile geschaut, da steht ein Pfad mit:
/lib/modules/2.4.18-bf24 oder so... Ist das das Verzeichnis wo die Source reinkommen soll?

Da schau ich dann rein, aber es existiert kein Verzeichnis mit source

hab ich vielleicht die Kernel Sourcen an ein falschen Ort hininstalliert?
Kann mir jemand sagen wie ich die Kernel Source richtig installiere?

Benutzeravatar
KBDCALLS
Moderator
Beiträge: 22456
Registriert: 24.12.2003 21:26:55
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Dortmund
Kontaktdaten:

Beitrag von KBDCALLS » 14.04.2005 23:08:15

Nein das funktioniert so nicht.

Installier zu deinem Kernel die passenden Kernel-headers.

Jetzt entpackts du den Treibersource im Verzeichnis

Code: Alles auswählen

 /usr/src/

Code: Alles auswählen

 tar xzf e1000-5.7.6.tar.gz
es existiert jetzt ein verzeichnis

Code: Alles auswählen

 e1000-5.7.6
in dieses Verzeichnis wechselst du und von da aus in das Verzeichnis.

Code: Alles auswählen

 cd e1000-5.7.6/src
In diesem Verzeichnis gibst du dann folgendes ein

Code: Alles auswählen

 make install 
und erhälst dann folgendes Ausgabe

Code: Alles auswählen

 

root@biljana:/usr/src/e1000-5.7.6/src# make install
make -C /lib/modules/2.6.10-1-k7/build SUBDIRS=/usr/src/e1000-5.7.6/src modules
make[1]: Entering directory `/usr/src/kernel-headers-2.6.10-1-k7'
  Building modules, stage 2.
  MODPOST
*** Warning: "cleanup_module" [/usr/src/e1000-5.7.6/src/e1000.ko] undefined!
*** Warning: "init_module" [/usr/src/e1000-5.7.6/src/e1000.ko] undefined!
make[1]: Leaving directory `/usr/src/kernel-headers-2.6.10-1-k7'
# remove all old versions of the driver
find /lib/modules/2.6.10-1-k7 -name e1000.ko -exec rm -f {} \; || true
find /lib/modules/2.6.10-1-k7 -name e1000.ko.gz -exec rm -f {} \; || true
install -D -m 644 e1000.ko /lib/modules/2.6.10-1-k7/kernel/drivers/net/e1000/e1000.ko
/sbin/depmod -a || true
install -D -m 644 e1000.7.gz /usr/share/man/man7/e1000.7.gz
man -c -P'cat > /dev/null' e1000 || true
man:
Kann im catman Modus nicht nach /var/cache/man/cat7/e1000.7.gz schreiben
e1000.
root@biljana:/usr/src/e1000-5.7.6/src#
Die Meldungen können bei dir etwas anders ausehen, und die Warnings kann man ignorieren. Die Modulendung wird auch richtig gesetzt je nach Kernelversion.
Was haben Windows und ein Uboot gemeinsam?
Kaum macht man ein Fenster auf, gehen die Probleme los.

EDV ist die Abkürzung für: Ende der Vernunft

Bevor du einen Beitrag postest:
  • Kennst du unsere Verhaltensregeln
  • Lange Codezeilen/Logs gehören nach NoPaste, in Deinen Beitrag dann der passende Link dazu.

Benutzeravatar
Mastermind
Beiträge: 62
Registriert: 04.01.2003 23:47:16

Beitrag von Mastermind » 14.04.2005 23:56:19

Hmmm.

Ich hab auf der Intel Homepage gelesen dass man nur die Kernel Soure installieren braucht, aber mal zu meiner frage: Wenn der die KErnel Source (angeblich) installiert hat, wo hat er die dann hininstalliert? Ich kann die nirgends finden.

Wie ist das wenn ich dpkg -i paketname.deb mach, wo wird das dann hininstalliert?

Und ich werde das mal mit den Kernel Headers ausprobieren.

Danke schonmal!

Benutzeravatar
Mastermind
Beiträge: 62
Registriert: 04.01.2003 23:47:16

Beitrag von Mastermind » 15.04.2005 03:49:17

Ich raff des nit...

Ich hab jetzt dier Kernel-Souce entpackt.
Es gibt jetzt ein Verzeichnis.

Code: Alles auswählen

/usr/src/kernel-source-2.4.18
und ich hab ein Verzeichneis

Code: Alles auswählen

/usr/src/e1000/e1000-5.7.6/src
und wenn ich da reingeh und

make install mach

krieg ich wieder die Meldung:

Code: Alles auswählen

Makefile:65: ***Linux kernel source not found.   Stop.
Aber die Sourcen sind doch installiert. Warum findet der die nicht?

Antworten