muss Modul erstellen

Warum Debian und/oder eine seiner Spielarten? Was muss ich vorher wissen? Wo geht es nach der Installation weiter?
Benutzeravatar
holgerw
Beiträge: 1489
Registriert: 13.03.2003 16:19:00
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Marburg

LinuxUser 4/2005 mit Debian Sarge

Beitrag von holgerw » 15.04.2005 13:56:05

Hi,

hier mal ein ganz anderer Ansatz:
In der LinuxUser 4/2005 ist ein Snapshot von Debian Sargre.

Die DVD einlegen, am Prompt

Code: Alles auswählen

linux26
eingeben, und es wird mit dem Kernel 2.6.8 gebootet. Dort ist das Modul e1000 dabei.

Das ist imho für Dein Vorhaben sicher der einfachste Weg. Und der Debian Installer von Sarge ist sehr einfach zu bedienen.

Beste Grüße,
Holger

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 » 15.04.2005 14:43:40

Mit den Kernelsourcen klappt das nicht, due mußt die kernel-headers nehmen zu deinem Kernel passend. Die Kernelheaders sind schon vorkompiliert wenn man so will. Und der Kernelsource ist nicht konfiguriert und vorkompiliert. Den müßte ich esrt eineml komplett kompilieren um ihn für die Aktion zu verwenden. Ich wiederhole mich nochmal gerne nimmt die passenden headers und dann klappt das auch.
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
eC
Beiträge: 354
Registriert: 24.07.2002 13:34:13
Wohnort: karlsruhe

Re: LinuxUser 4/2005 mit Debian Sarge

Beitrag von eC » 15.04.2005 14:47:36

holgerw hat geschrieben: Die DVD einlegen, am Prompt

Code: Alles auswählen

linux26
eingeben, und es wird mit dem Kernel 2.6.8 gebootet. Dort ist das Modul e1000 dabei.
Hi,
so würde ich das auch machen.
Mit woody wirst Du eh nicht glücklich :(

Alternativ kannst Du Dir das sarge netinstall image ziehen,
auf CD brennen
und den Rest über das Internet installieren.
Da ist jeweils das Modul für Deine Karte dabei:

http://www.debian.de/devel/debian-installer/

gruss
eC

PS und EDIT: Das mit dem Kompilieren würde ich erst mal vergessen, bis Dein
System steht und Du experimentieren kannst / willst ;)

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

Beitrag von Mastermind » 15.04.2005 17:30:44

Oh sorry KBDCALLS,

ich hab vergessen zu erwaehnen, dass ich die Kernel Headers auch installiert hab, und zwar im Verzeichnis

Code: Alles auswählen

/usr/src/kernel-headers-2.4.18
Aber trotzdem sagt er, dass er die Sources nicht findet.

Muss ich die headers nun auch noch kompilieren?

@holgerw und eC: Danke ich will das aber erst mal so mit woody probieren. Wenn ich das alles automatisch gemacht krieg dann lern ich denk ich weniger dabei... Trotzdem Danke!

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 » 15.04.2005 17:45:26

Nein die sind schon fertig vorkompiliert. Was due aber brauchst wären noch die passenden Headers zu deinem Kernel. Sind alls genaunommen 2 Pakete. Des wegen hatte ich ja auch geschrieben die müssen zu deinem Kernel passen.

Bei mir sieht das dann so so aus

Code: Alles auswählen

ii kernel-headers-2.6.10-1 2.6.10-6 Header files related to Linux kernel version 2.6.10
ii kernel-headers-2.6.10-1-k7 2.6.10-6 Linux kernel headers 2.6.10 on AMD K7 
_______________________________________________________________________________________________________________________
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 » 15.04.2005 18:03:54

Ja schon, ich hab die Kernel Headers fuer Kernel 2.4.18 doch schon installiert. Und zwar von:

http://packages.debian.org/stable/devel ... 18-686-smp

Habe im Notebook ein Pentium M Centrino, denke doch dass das die passenden Headers sind, wenn nicht: Asche ueber mein Haupt...

Ausserdem raff ich des nicht, wieso brauch ich 2 Pakete jetzt? Was bedeutet das "ii" vor deinem Paketname?

Das ist schon komisch, Kernel Headers installiert und er meckert rum, dass er die Sourcen nicht findet. Da soll sich noch jemand auskennen, vor allem ich als Anfaenger...

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 » 15.04.2005 18:20:28

Das kommt von dpkg und bedeutet nur das das Paket korrekt installiert ist. Von den Kernelheaders deswegen zwei Pakete , in dem erstern sind die eigentlich Kernelheaders drin , und das zweite besteht hauptsächlich aus Links und einigen Kernelspezifischen Dateien die für jeden Kernel anders sind. Deswegen gibt es ein Paket kernel-headers und mehere Pakete Kernel-headers mit dem Anhängsel der Kernelarchitektur i386 oder k6 zum Beispiel.
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 » 15.04.2005 18:58:50

ALso hab ich des jetzt kapiert:

Ich muss also:

Code: Alles auswählen

kernel-headers-2.4.18_2.4.18-5_i386.deb
noch zu meinem

Code: Alles auswählen

kernel-headers-2.4.18-686-smp
dazuinstallieren?

Ich versuch das mal...
Wieso aber Fehlermeldung Kernel SOURCES not found?
Und nicht Kernel HEADERS not found?

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

Beitrag von Mastermind » 16.04.2005 04:19:51

Also ich hab jetzt noch die andern Kernel Headers Pakete isntalliert.
Ich hab jetzt im Verzeichnis

Code: Alles auswählen

/usr/src/
4 Verschiedene Ordner mit Kernel Headers !

Jetzt nochmal

Code: Alles auswählen

make install
im

/usr/src/e1000-5.7.6

Ordner gemacht und er bringt genau die gleiche Fehlermeldung wie vorher: Konnte KerneL Sourcen nicht finden...

Jetzt bin ich mal (keine Ahnung warum) auf die Idee gekommen im Makefile den Pfad fuer die Kernel Sourcen genau einzutragen. Und dann nochmal make install gemacht und er bringt auf einmal ne andere Fehlermeldung wenn ich

make install

mach. Er sagt er hat Versioin.h im Kernel Source Verzeichnis nicht gefunden...

Ich dreh so langsam ab, das kanns ja wohl nicht sein, dass man tagelang rummachen muss nur um so nen besch..... Treiber zu kompilieren!

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 » 16.04.2005 14:43:07

Es wird eine Datei Datei

Code: Alles auswählen

 version.h 
gesucht. UInd die befindet sich in

Code: Alles auswählen

/include/linux 
. Und die wird an mehreren Stellen gesucht , und venn er die nicht finden kann kommt es zu der Meldung

Code: Alles auswählen

Kernel-source not found 
.

Code: Alles auswählen

     44 # All the places we look for kernel source
     45 KSP :=  /lib/modules/$(BUILD_KERNEL)/source \
     46         /lib/modules/$(BUILD_KERNEL)/build \
     47         /usr/src/linux-$(BUILD_KERNEL) \
     48         /usr/src/linux-$($(BUILD_KERNEL) | sed 's/-.*//') \
     49         /usr/src/kernel-headers-$(BUILD_KERNEL) \
     50         /usr/src/kernel-source-$(BUILD_KERNEL) \
     51         /usr/src/linux-$($(BUILD_KERNEL) | sed 's/\([0-9]*\.[0-9]*\)\..*/\        1/') \
     52         /usr/src/linux
Bei Debian käme Zeile 49 hin.
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 » 18.04.2005 16:23:57

Hi,

ich hab mal ein
Befehl druebergeschickt, er sagt er kann version.h nicht finden. Und im Verzeichnis /include/linux is die leider au net.

Ich hab exakt den eintrag im Makefile

Code: Alles auswählen

49         /usr/src/kernel-headers-$(BUILD_KERNEL) \ 
aber es bringt leider nix. Ich kann ja mal das ganze Makefile posten wenn ich daheim bin. Wuerde das helfen?

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

Beitrag von Mastermind » 18.04.2005 18:46:48

Also das Makefile sieht so aus...
(wobei der letzte Eintrag auf meinen Mist gewachsen ist)

Code: Alles auswählen

# Kernel Search Path
# All the places we look for kernel source
KSP :=  /lib/modules/$(BUILD_KERNEL)/source \
        /lib/modules/$(BUILD_KERNEL)/build \
        /usr/src/linux-$(BUILD_KERNEL) \
        /usr/src/linux-$($(BUILD_KERNEL) | sed 's/-.*//') \
        /usr/src/kernel-headers-$(BUILD_KERNEL) \
        /usr/src/kernel-source-$(BUILD_KERNEL) \
        /usr/src/linux-$($(BUILD_KERNEL) | sed 's/\([0-9]*\.[0-9]*\)\..*/\1/') \
        /usr/src/linux
        /usr/src/kernel-source-2.4.18 \


# prune the list down to only values that exist
# and have an include/linux sub-directory
Aber der findet halt nix.

Muss man das Makefile vielleicht noch weiter unten wo anpassen?
Wenn ich die version.h nicht auf meinem Rechner hab, woher krieg ich die dann oder hab ich da in meiner Unwissenheit was falsch installiert?

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

Beitrag von Mastermind » 25.04.2005 18:16:27

Also,

Hab das Problem mit der version.h jetzt geloest! Juhu!

Dann anderes Problem, es war kein Compiler installiert. Habe dann gcc installiert per apt-get. Der kgcc und cc liess sich nicht installieren, aber ich hoffe es geht auch mit dem gcc.

Dann erneutes make install gemacht. Er bringt mir tausend Fehlermeldungen mit denen ich nix anfangen kann. Es gibt kein Modul e1000.o

Was kann das sein? Falscher Compiler? Wie kann ich die Ausgabe des make install in ne Textdatei kopieren. Vielleicht wenn ich das heir poste weiss jemand Rat?

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

Beitrag von Mastermind » 27.04.2005 16:28:25

Hmm kann mir keiner helfen?
Oder sagen wie ich die Ausgabekommandos von dem make install in ne Textdatei umleite, damit ich das hier mal posten kann?

wenn ich mach

Code: Alles auswählen

make install > /mnt/usbstick/ausgabe.txt
funktioniert das nicht. Er schreibt zwar was rein in die Textdatei aber nur 3 Zeilen.

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.04.2005 17:54:22

Mastermind hat geschrieben:Hmm kann mir keiner helfen?
Oder sagen wie ich die Ausgabekommandos von dem make install in ne Textdatei umleite, damit ich das hier mal posten kann?

wenn ich mach

Code: Alles auswählen

make install > /mnt/usbstick/ausgabe.txt
funktioniert das nicht. Er schreibt zwar was rein in die Textdatei aber nur 3 Zeilen.
dann änder das mal

Code: Alles auswählen

make install 2>&1>& /mnt/usbstick/ausgabe.txt
Das könnte funzen , ist aber ungetestet.
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 » 01.05.2005 02:38:26

Also es sieht so aus...
scheint als fehlt mir die autoconf.h
War ja klar dass das nicht reibungslos geht der kompiliervorgang.
Kann mir jemand helfen? Wo krieg ich die fehlenden Dateien her? Fehlt sonst noch was?

Code: Alles auswählen

/usr/src/linux/include/linux/config.h:4: linux/autoconf.h: No such file or directory
make
/usr/src/linux/include/linux/config.h:4: linux/autoconf.h: No such file or directory
make[1]: Entering directory `/usr/src/e1000/e1000-5.7.6/src'
gcc -DLINUX -D__KERNEL__ -DMODULE -O2 -pipe -Wall -I/usr/src/linux/include -I.     -c -o e1000_main.o e1000_main.c
In file included from e1000.h:36,
                 from e1000_main.c:29:
/usr/src/linux/include/linux/config.h:4: linux/autoconf.h: No such file or directory
In file included from /usr/src/linux/include/linux/prefetch.h:13,
                 from /usr/src/linux/include/linux/list.h:6,
                 from /usr/src/linux/include/linux/module.h:12,
                 from e1000.h:37,
                 from e1000_main.c:29:
/usr/src/linux/include/asm/processor.h:56: `CONFIG_X86_L1_CACHE_SHIFT' undeclared here (not in a function)
/usr/src/linux/include/asm/processor.h:56: requested alignment is not a constant
In file included from e1000.h:46,
                 from e1000_main.c:29:
/usr/src/linux/include/linux/netdevice.h:164: `CONFIG_X86_L1_CACHE_SHIFT' undeclared here (not in a function)
/usr/src/linux/include/linux/netdevice.h:164: requested alignment is not a constant
In file included from /usr/src/linux/include/asm/hardirq.h:6,
                 from /usr/src/linux/include/linux/interrupt.h:45,
                 from /usr/src/linux/include/linux/netdevice.h:432,
                 from e1000.h:46,
                 from e1000_main.c:29:
/usr/src/linux/include/linux/irq.h:65: `CONFIG_X86_L1_CACHE_SHIFT' undeclared here (not in a function)
/usr/src/linux/include/linux/irq.h:65: requested alignment is not a constant
In file included from /usr/src/linux/include/linux/interrupt.h:45,
                 from /usr/src/linux/include/linux/netdevice.h:432,
                 from e1000.h:46,
                 from e1000_main.c:29:
/usr/src/linux/include/asm/hardirq.h:16: `CONFIG_X86_L1_CACHE_SHIFT' undeclared here (not in a function)
/usr/src/linux/include/asm/hardirq.h:16: requested alignment is not a constant
In file included from /usr/src/linux/include/linux/netdevice.h:432,
                 from e1000.h:46,
                 from e1000_main.c:29:
/usr/src/linux/include/linux/interrupt.h:128: `CONFIG_X86_L1_CACHE_SHIFT' undeclared here (not in a function)
/usr/src/linux/include/linux/interrupt.h:128: requested alignment is not a constant
In file included from e1000.h:46,
                 from e1000_main.c:29:
/usr/src/linux/include/linux/netdevice.h:481: `CONFIG_X86_L1_CACHE_SHIFT' undeclared here (not in a function)
/usr/src/linux/include/linux/netdevice.h:481: requested alignment is not a constant
e1000_main.c: In function `e1000_probe':
e1000_main.c:485: warning: implicit declaration of function `pci_request_regions'
e1000_main.c:691: warning: implicit declaration of function `pci_release_regions'
e1000_main.c: In function `e1000_notify_reboot':
e1000_main.c:3114: warning: implicit declaration of function `pci_dev_driver'
e1000_main.c:3114: warning: comparison between pointer and integer
make[1]: *** [e1000_main.o] Error 1
make[1]: Leaving directory `/usr/src/e1000/e1000-5.7.6/src'
make: *** [default] Error 2

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 » 01.05.2005 12:37:46

Wenn dann gehört die die zu den Kernel-headern

PS

Code: Alles auswählen

 autoconf 
selbst installiert?
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 » 01.05.2005 17:35:57

nein ich hab die autoconf nicht installiert, da war ja kein hinweis dass man die braucht.

Kernel Headers passend zu meiner Kernel Version hab ich aber installiert und die befinden sich auch im /usr/src Verzeichnis.

Benutzeravatar
Sam
Beiträge: 838
Registriert: 10.09.2002 11:02:45
Wohnort: Wuppertal

Beitrag von Sam » 01.05.2005 18:11:24

Hi,
kann es sein, dass da nur ein symlink fehlt:

Code: Alles auswählen

ln -s /usr/src/kernelsourceverzeichnis /usr/src/linux
Die Dinger suchen in /usr/src/linux nach den Linuxsources. Das Verzeichnis mit Deinen Kernelsourcen heisst aber kernel-source-2.4.18.-meineLebensgeschichteusw.usf-i386 oder so.
Viel Glück,
Sam
PS: Auf ein Centrino würde ich mindestens Sarge drauf machen und nicht das Uralt woody

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 » 01.05.2005 22:04:26

Mastermind hat geschrieben:nein ich hab die autoconf nicht installiert, da war ja kein hinweis dass man die braucht.

Kernel Headers passend zu meiner Kernel Version hab ich aber installiert und die befinden sich auch im /usr/src Verzeichnis.
Wer soll soll denn sonst autoconf.h brauchen?
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 » 03.05.2005 03:52:37

ej sorry, woher soll ich den wissen wofür ich die autoconf.h brauch?
ich raff des eh alles nit...

Benutzeravatar
holgerw
Beiträge: 1489
Registriert: 13.03.2003 16:19:00
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Marburg

Beitrag von holgerw » 03.05.2005 14:38:01

Hi,

an Deiner Stelle würde ich doch mal Debian Sarge installieren und mich mit dem System vertraut machen. Etwas zu kompilieren ist vielleicht etwas schwierig für den Anfang im Umgang mit Linux. Und Woody ist einfach zu alt für ein Notebook.

Aber natürlich muss das jeder selbst wissen.

Beste Grüße,
Holger

gms
Beiträge: 7798
Registriert: 26.11.2004 20:08:38
Lizenz eigener Beiträge: MIT Lizenz

Beitrag von gms » 03.05.2005 15:16:33

Ich stimme natürlich "holgerw" vollkommen zu.

Die autoconf.h wird beim kernel konfigurieren erzeugt und sollte daher auch im Paket mit den konfigurierten kernel-headern enthalten sein. (also kernel-headers-2.4.18-686 o.ä.)

Code: Alles auswählen

root:/usr/src/kernel-headers-2.4.18-686# find . -name "autoconf.h"             
./include/linux/autoconf.h

Das Paket autoconf wird vom kernel (noch) nicht verwendet

Gruß
gms

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

Beitrag von Mastermind » 04.05.2005 19:15:37

Naja gut, aber Sarge möchte ich jetzt erstmal nicht installieren. Lieber hab ichs am Anfang bissel schwerer aber raffs dann dafür später auch gescheit.

Ich werd mal schauen wo ich die autoconf.h auftreiben kann...
Melde mich dann wieder.

@ gms: soll ich mal

Code: Alles auswählen

 apt-get install autoconf
machen? Weil Du schreibst dass das Paket noch nicht verwendet wird...

gms
Beiträge: 7798
Registriert: 26.11.2004 20:08:38
Lizenz eigener Beiträge: MIT Lizenz

Beitrag von gms » 04.05.2005 20:13:17

Mastermind hat geschrieben: @ gms: soll ich mal

Code: Alles auswählen

 apt-get install autoconf
machen? Weil Du schreibst dass das Paket noch nicht verwendet wird...
kannt du, wird aber nichts bringen, wie ich oben schon geschrieben habe, ist die autoconf.h ein Bestandteil der Kernel-Header (allerdings der konfigurierten!!!).
Du kannst ja einmal das Kommando "find /usr/src/kernel-headers-`uname -r` -name "autoonf.h" absetzen.

Daher ist der Link "/usr/src/linux" bei dir wahrscheinlich falsch.

Das Paket "autoconf" wird eigentlich nur von Entwicklern und Paketbetreuern benötigt. Damit können z.B. "configure"-Scripte generiert werden.


Gruß
gms

Antworten