Kernelmodul erneut kompilieren

Dieses Thema im Forum "RedHat,Fedora & CentOS" wurde erstellt von tim.j, 28.09.2006.

  1. tim.j

    tim.j Mitglied

    Dabei seit:
    24.07.2006
    Beiträge:
    25
    Zustimmungen:
    0
    Guten Morgen alle zusammen.

    Das Kernelmodul kcapi meldet einen Fehler.
    Diesen Fehler möchte ich gerne debuggen und habe dafür weitere Ausgaben in die .c Datei integriert.

    Wie kann ich diese einzelne .c Datei kompilieren das ich wieder eine .ko Datei habe?
    Kann ich die .ko Datei dann einfach ersetzten und das modul erneut laden?

    Ich hoffe auf eure Hilfe

    Gruss
    Tim
     
  2. Anzeige

    Schau dir mal diese Kategorie an. Dort findest du bestimmt etwas.
    Registrieren bzw. einloggen, um diese und auch andere Anzeigen zu deaktivieren
  3. rikola

    rikola Foren Gott

    Dabei seit:
    23.08.2005
    Beiträge:
    2.133
    Zustimmungen:
    0
    Vermutlich gibt es ein target, um nur das Modul zu kompilieren. Das einfachste ist es, alle mit make neu zu kompileren. Das entstandene Modul kannst Du tatsaechlich einfach nur kopieren und damit das alte ersetzen. Danach solltest Du 'depmod -a' ausfuehren, damit Du das neue Modul laden kannst (ist aber beim Ersetzen vermutlich nicht mal notwendig, nur beim Hinzufuegen einen neuen Moduls).
     
  4. tim.j

    tim.j Mitglied

    Dabei seit:
    24.07.2006
    Beiträge:
    25
    Zustimmungen:
    0
    Gibt es keinen Befehl mit dem ich einfach nur 1 Modul kompilieren kann?
     
  5. theton

    theton Bitmuncher

    Dabei seit:
    27.05.2004
    Beiträge:
    4.820
    Zustimmungen:
    0
    Ort:
    Berlin, Germany
    Gib mal im Kernel-Source-Verzeichnis einfach ein
    Code:
    make directory/modulname.ko
    ein. Willst du nur den Inhalt eines bestimmten Ordners neu kompilieren, hilft ein
    Code:
    make directory/
    weiter. Am einfachsten duerfte es aber wohl mit
    Code:
    make modules
    sein. Wenn die anderen Module schon erstellt sind, wird nur das modifizierte nochmal neu kompiliert.
     
  6. tim.j

    tim.j Mitglied

    Dabei seit:
    24.07.2006
    Beiträge:
    25
    Zustimmungen:
    0
    directory = /lib/modules/... etc?
     
  7. theton

    theton Bitmuncher

    Dabei seit:
    27.05.2004
    Beiträge:
    4.820
    Zustimmungen:
    0
    Ort:
    Berlin, Germany
    Nein, ich sagt was vom Kernel-Source, also musst du das Verzeichnis nehmen, in dem die Sources des Modules liegen. Unter /lib/modules liegen die installierten Module. Mach einfach mal im Kernel-Source ein 'make help', da bekommst du alle Moeglichkeiten angezeigt.
     
  8. tim.j

    tim.j Mitglied

    Dabei seit:
    24.07.2006
    Beiträge:
    25
    Zustimmungen:
    0
    Aber in dem Source Verzeichnis gibt es keine .ko Dateien?
    Oder soll ich "Verzeichnis zur .c Datei"/".ko Datei" angeben?
    Ich verstehe es irgendwie nicht. Entweder Sourcedir und Sourcefile angeben oder Targetdir und Targetfile.

    *verwirrt*
     
  9. #8 theton, 28.09.2006
    Zuletzt bearbeitet: 28.09.2006
    theton

    theton Bitmuncher

    Dabei seit:
    27.05.2004
    Beiträge:
    4.820
    Zustimmungen:
    0
    Ort:
    Berlin, Germany
    Du gibst die ko-Datei an, die du erstellen willst. Wie bereits gesagt duerfte 'make modules && make modules_install' wohl der einfachste Weg sein, wenn du dich mit dem Kernel-Build-System und dem Aufbau der Kernel-Sources nicht auskennst. Mir stellt sich allerdings die Frage, warum du im Kernel-Source rumeditierst, wenn du scheinbar nichtmal das Makefile lesen kannst und dich offenbar nicht mit den Sources auseinandergesetzt hast. :think: Lies doch einfach mal ein paar Dokus zu dem Thema, z.B. http://tldp.org/HOWTO/Module-HOWTO/

    PS: Ich hoffe, dass du die Ausgaben wenigstens nicht ueber die Standard-C-Bibliothek realisiert hast sondern printk() nutzt.. ;)
     
  10. Anzeige

    Vielleicht findest du HIER Antworten.
    Registrieren bzw. einloggen, um diese und auch andere Anzeigen zu deaktivieren
  11. tim.j

    tim.j Mitglied

    Dabei seit:
    24.07.2006
    Beiträge:
    25
    Zustimmungen:
    0
    Ok danke.
    Ja Leider kenne ich mich nicht so gut in dem Bereich aus.
    Mein Problem ist bei dem Versenden eines Faxes wird eine Fehlermeldung geworfen. Mit der Meldung kann ich nicht sehr viel Anfangen.

    Code:
    Sep 25 09:35:33 hylafax-test kernel: kcapi: handle_message: applid 3 state released (LISTEN_CONF ID=003 0x0000 LEN=0014
    Sep 25 09:35:33 hylafax-test kernel: Controller/PLCI/NCCI = 0x1
    Sep 25 09:35:33 hylafax-test kernel: Info = 0x0
    Sep 25 09:35:33 hylafax-test kernel: )
    Deshalb möchte ich ein paar weitere Ausgaben in die Funktion "capi_ctr_handle_message" hinzufügen.
     
  12. theton

    theton Bitmuncher

    Dabei seit:
    27.05.2004
    Beiträge:
    4.820
    Zustimmungen:
    0
    Ort:
    Berlin, Germany
    Ueber die Meldung ist wirklich kaum was zu finden. Evtl kann man dir aber auf der Mailingliste von hylafax weiterhelfen: http://hylafax.sourceforge.net/support.php oder du machst halt einen Thread im entsprechenden Bereich auf. Bevor man am Kernel rumbastelt sollte man sich ein wenig damit befasst haben, denke ich. Ein recht gutes Buch zum Thema Treiber-Entwicklung (und somit auch zur Modul-Programmierung) findest du unter http://ezs.kr.hsnr.de/TreiberBuch/html/ .
     
Thema: Kernelmodul erneut kompilieren
Besucher kamen mit folgenden Suchen
  1. kernelmodul neu kompilieren

    ,
  2. kernel modul kompilieren und ersetzen

Die Seite wird geladen...

Kernelmodul erneut kompilieren - Ähnliche Themen

  1. "Probleme" mit einem Kernelmodul

    "Probleme" mit einem Kernelmodul: Hallo Leute, ich stehe gerade vor einem kleinen Problem. Ich arbeite als Hiwi an einem Institut der Uni, an der ich studiere als Helfer des...
  2. Kann ein falsch komiliertes KernelModul system schaden?

    Kann ein falsch komiliertes KernelModul system schaden?: Hi Leute ich habe auf einem Laptop native W-Lan Treiber installiert. Leider startet das KerndelModul nach dem Start nicht automatisch sondern...
  3. Kernelmodul verhindert herunterfahren! Warum?

    Kernelmodul verhindert herunterfahren! Warum?: Hallo, habe ein Problem mit einem Kernelmodul welches das neu starten oder herunterfahren verhindert sobald es geladen ist. Es handelt sich...
  4. kernelmodul downgrade

    kernelmodul downgrade: Hallo ich wollte einen Neuen trieber für meine karte drauf machnen, ich hatte erst nvidia-glx drauf und dachte mit der new version geht es...
  5. Yast nicht in der Lage verfügbare Kernelmodule aufzurufen

    Yast nicht in der Lage verfügbare Kernelmodule aufzurufen: Hallo, habe mir seit Kurzem die Opensue 10.2 geholt und probiere nun zum ersten mal Linux aus. Das Programm Yast bricht bei der...