Kernel kompiliert, aber wo ist build/ ?

Welches Modul/Treiber für welche Hardware, Kernel compilieren...
Antworten
menace
Beiträge: 6
Registriert: 07.11.2005 03:40:38

Kernel kompiliert, aber wo ist build/ ?

Beitrag von menace » 07.11.2005 08:46:21

Hallo,
ich habe nach dem Weg, der in dem Paket newbiedoc steht, einen Kernel erzeugt und mit dpkg -i installiert. Da ich Kernelmodule programmieren will brauche ich auch das Verzeichnis /lib/modules/kernelversion/build.
Jetzt habe ich das Problem, dass in /lib/modules/ 2 Verzeichnisse sind.
einmal 2.6.8 und einmal 2.6.8-2-386.
Mein System (uname -r) ist 2.6.8-2-386. aber in diesem entsprechendem verzeichnis ist kein "build"ordner, sondern nur in 2.6.8
Wenn ich aber das hallowelt kernelmodul mit diesem buildverzeichnis kompiliere, sagt er was von "invalid module format".


Was kann ich denn jetzt tun, damit 2.6.8-2-386 (vermutlich erst nach dem neuen kernelbau) ein build verzeichnis enthält? Ich weiss atm wirklich nicht weiter.
Weiss einer von euch einen Tip`?

Ich habe keine Ahnung woran das liegen könnte, und leider daher auch keinen Ansatzpunkt :/
Danke, mfG, menace

Benutzeravatar
meandtheshell
Beiträge: 4054
Registriert: 14.01.2005 17:51:30

Beitrag von meandtheshell » 07.11.2005 09:56:47

naja - das build verzeichnis ist eben "da" wo kompiliert wird - wo das ist hängt davon ab wie du kompilierst und was du deinem ./config mitgibst bzw. wenn du sonst welche wege wählst zu kompilieren wo du den make aufruf machst, wo die sourcen liegen etc.

das das kompilieren nicht funkt. wenn modul source nicht zur kernel version passt ist dann klar - den es gibt seit einiger zeit eine versions kontrolle - nicht nur beim laden der module

markus

info bezüglich arten zu kompilieren usw.
standart way
http://de.gentoo-wiki.com/Kernel_manuell_kompilieren (I recommend this one)
http://www.digitalhermit.com/linux/Kern ... HOWTO.html
http://www.tabr.org/projekte/kernel.html
the debian way
http://debiananwenderhandbuch.de/kernelbauen.html
Zuletzt geändert von meandtheshell am 07.11.2005 10:03:35, insgesamt 1-mal geändert.

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

Beitrag von KBDCALLS » 07.11.2005 10:00:49

Das ist eh ein Link auf das Verzeichnis der Kernel-headers , Das könntest du per Hand anlegen. Wenn die Sourcen unverändert sind, (so wie nach dem kompilieren) könnte der Link auch dahin zeigen.

Wenn dann kompiliere ich so

Code: Alles auswählen

make-kpkg --append-to-version=-1-k7 --revision 1 debian
make-kpkg --append-to-version=-1-k7  --revision 1  kernel-image kernel-headers

Und so um die neuen Namen zu berücksichtigen

Code: Alles auswählen

make-kpkg --stem linux --append-to-version -0-k7 --revision 2.6.13-0  debian
make-kpkg --stem linux --append-to-version -0-k7 --revision 2.6.13-0  kernel-headers kernel-image 
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.

menace
Beiträge: 6
Registriert: 07.11.2005 03:40:38

Beitrag von menace » 07.11.2005 11:32:32

Hallo,
danke für die Tips. Allerdings habe ich nochmal versucht den Kernel zu kompilieren, und die config mit make config neu gemacht, mit dem Ergebnis, dass weder dhclient eth0 nicht findet, der XServer nicht startet und eine Reihe weiterer Sachen.
LearningbyDoing ist halt nicht immer von Erfolg gekrönt *seufz*

Gibt es evtl. für PCs oder Laptops (Thinkpad t20) irgendwo Standardconfigs, die ich laden kann, damit dieser funktioniert?

Benutzeravatar
meandtheshell
Beiträge: 4054
Registriert: 14.01.2005 17:51:30

Beitrag von meandtheshell » 07.11.2005 11:36:13

menace hat geschrieben:
Gibt es evtl. für PCs oder Laptops (Thinkpad t20) irgendwo Standardconfigs, die ich laden kann, damit dieser funktioniert?
gibt es sicher - ask google - aber du möchtest ja was lernen oder - siehe gentoo link oben (da wird erklärt was du bei menuconfig aktivierst wenn du diese oder jene hardware hast) - statt emerge musst du eben apt verwenden

BTW - du sagst du konfigurierst mittels make config - da bist du aber ein ausgewachsener masochist :lol: - mache es mit make menuconfig

markus
Zuletzt geändert von meandtheshell am 07.11.2005 11:40:26, insgesamt 1-mal geändert.

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

Beitrag von KBDCALLS » 07.11.2005 11:40:19

Du könntest erst mal versuchen mit

Code: Alles auswählen

 make defconfig
Eine Konfiguration zu erstellen die ohne Intrd auskommt.

Oder du nimmst dir ein Debianimage einens 2.6.xx Kernels und nimmt davon die Configdatei, Allerdings brauchst du dann eine Initrd. Option --initrd . Damit das funktioniniert müssen yaird oder initramfs-tools installiert sein bei einem Kernel 2.6.14
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.

laporment
Beiträge: 14
Registriert: 03.11.2005 16:13:33

Beitrag von laporment » 07.11.2005 11:51:52

du hattest aber schon nen kernel laufen, der funktioniert hat?

dann kopier dir die config dieses kernels in dein kernel-source verzeichnis. die configs liegen (mit etwas glück ;)) unter /boot/config-[kernelversion].

anschliessend benennst du diese config im source verzeichnis in .config um, machst einmal ein make oldconfig und anschliessend make menuconfig. stellst dann noch ein, was du so brauchst und kannst dann make-kpkg benutzen.

beispielsweise: make-kpkg --append-to-version=.meinkernel1 kernel_image modules_image
anschliessend kannst du das .deb mittels dpkg -i installieren.

die ganzen how-tos sind natürlich ausführlicher. aber vielleicht hilft mal eine reduktion auf den einfachsten weg weiter ;)

menace
Beiträge: 6
Registriert: 07.11.2005 03:40:38

Beitrag von menace » 07.11.2005 13:40:00

Das komische ist ja, dass genau der gleiche Kernel zu sein scheint (lt. uname -r)
2.6.9-2-386
könnte es evtl helfen, wenn ich die alten kernelversionen in boot/ und die ordner unter /lib/modules lösche, und den kernel dann nochmal neu baue?

Antworten