modul kompilieren / installieren

  • hallo!


    frisch motiviert wollte ich meinem schnuckeligen kernel ein neues modul hinzufügen. nach bisschen googlen


    Code
    cd /usr/src/linux
    make oldconfig
    make /driver/net/sk98lin

    *
    und nun: bin ich am ende. finde nirgends im system ein sk98lin.o oder ähnliches. wie krieg ich das ding in den kernel?


    hab schon wie wild alle befehle durchgemacht, die ich kenne make install, insmod, modprobe, .... aber das will nicht. vielleicht will mich ja einer in die richtige richtung schubsen.


    danke, jungs!


    bigredeyes


    *andere möglichkeit noch im internet gesehen

    Code
    make modules
    make modules_install

    oder so. wäre das zu bevorzugen? bei dem weg muss man dann nur mit make menuconfig die entsprechenden module scharfmachen? wollte bewußt nciht den ganzen kernel neu kompiliren, sondern eben nur das gewünschte modul.

    I) easyvdr 0.5 - intel d201gly2 - cel 1,2 - 512 ddr2ammler - im schrank verbastelt.
    II) easyvdr 0.6 - fusi D1132 - cel 466 - 256 rammler - skystar 2.6 + fusi-s 1.6 FF mit defektem tuner aber intaktem tv-out!
    folding@home join linux-team (# 153715)


    “Als Rechtfertigung darf es einem Rechtsstaat nicht genügen, darauf zu verweisen,
    dass doch derjenige, der nichts zu verbergen habe, auch nichts zu befürchten habe.”

  • Mit "make menuconfig" schon durhch die Netzwerktreiber gesucht, ob das Modul überhaupt in Deinem Kernel ist ? (Ich vermute mal, dass es ein Lan-Modul sein soll, weil Du vom Pfad Drivers/net sprichst)... elchen Kernel nutzt du denn ?

    ***********************

    Hauptvdr: Easyvdr 3.5

    Clients: Easyvdr 3.5

  • das ganze läuft als freundschaftsdienst...


    ubuntu 7.10 mit kernel 2.6.22


    hab jetzt auch rausgefunden, dass es wohl einen aktuelleren treiber namens sky2 oder skge gibt. der sk98lin ist wohl rausgeflogen...


    dann heißt das wohl, make menuconfig und nach sky2 oder skge suchen, ein M davor und dann "make irgendwas" anschmeißen?


    bigredeyes

    I) easyvdr 0.5 - intel d201gly2 - cel 1,2 - 512 ddr2ammler - im schrank verbastelt.
    II) easyvdr 0.6 - fusi D1132 - cel 466 - 256 rammler - skystar 2.6 + fusi-s 1.6 FF mit defektem tuner aber intaktem tv-out!
    folding@home join linux-team (# 153715)


    “Als Rechtfertigung darf es einem Rechtsstaat nicht genügen, darauf zu verweisen,
    dass doch derjenige, der nichts zu verbergen habe, auch nichts zu befürchten habe.”

  • hjs


    ich behaupte nicht, es zu wissen. hab halt gedacht, aber das ist ja, bekanntlicher weise, glückssache.


    ich habe gedacht, wenn ich mir ein einzelnes modul baue, kann ich dieses dann dank hotplug direkt laden. ohne den ganzen kernel neu machen zu müssen.


    Code
    make oldconfig
    make manuconfig #gewünschten trieber mit M markieren
    make moduels
    make modules_install

    ?


    sollte es das dann gewesen sein?


    oder wie würdest du das anstellen?
    welche befehle in welcher reihenfolge?


    danke für die mithilfe


    bigredeyes

    I) easyvdr 0.5 - intel d201gly2 - cel 1,2 - 512 ddr2ammler - im schrank verbastelt.
    II) easyvdr 0.6 - fusi D1132 - cel 466 - 256 rammler - skystar 2.6 + fusi-s 1.6 FF mit defektem tuner aber intaktem tv-out!
    folding@home join linux-team (# 153715)


    “Als Rechtfertigung darf es einem Rechtsstaat nicht genügen, darauf zu verweisen,
    dass doch derjenige, der nichts zu verbergen habe, auch nichts zu befürchten habe.”

    2 Mal editiert, zuletzt von bigredeyes ()

  • Zitat

    Original von hjs
    Das man einfach so n Modul compiliert und das sogar benutzen kann , ohne auch den Kernel neu zu compilieren , der das Teil immerhin nutzen soll , ist mir neu ....


    hi,
    das geht definitiv. zumindest dann, wenn du die kernelquellen schon einmal compiliert hast und der object-code noch vorliegt.
    ich hab schon das problem gehabt, ein paar sachen im kernel vergessen zu haben: dann einfach in menuconfig aktivieren, module compilieren, erstelltes modul installieren und fertig.
    make compiliert dann nur das, was auch wirklich nötig ist.
    ich vermute mal, das für den build-prozess 'nur' die symboltabellen des kernels vorliegen müssen, gegen den das modul gelinkt wird.
    komplett alles neu zu compilieren ist auf jeden fall nicht notwendig.


    bigredeyes: ja und nein; kommt halt darauf an, in welchem zustand deine kernelquellen vorliegen.

  • Zitat

    Original von slime


    hi,
    das geht definitiv. zumindest dann, wenn du die kernelquellen schon einmal compiliert hast und der object-code noch vorliegt.


    Naja - daß es möglich ist , nur ein Modul neu zu compilieren ist schon klar .
    Wenn ich experimentiere , mach ich j aauch kein mrproper vorweg - schließlich dauert der komplette Kernel etwas ...


    Zitat


    ich vermute mal, das für den build-prozess 'nur' die symboltabellen des kernels vorliegen müssen, gegen den das modul gelinkt wird.
    komplett alles neu zu compilieren ist auf jeden fall nicht notwendig.


    Tja - ich weiß leider nicht , wie der Kernel exakt seine Module verankert und diese dann aufruft .
    Es mag Fälle geben , in denen das funzt .
    Aber ich hatte schon das exakte Gegenbeispiel , wo ich n Modul nachgeschoben hatte , was dann ausstieg mit "unresolved Symbols"


    Wie gesagt - ohne Genaueres über die internen Abläufe zu kennen , würde ich mich nicht darauf verlassen , daß das funzt .
    Natürlich heißt es : Versuch macht kluch - mehr als inne Büx gehen kanns ja nicht .
    Allerdings sollte unser Rotauge sich seelisch auf den kompletten Kernel einstellen .


    HJS

  • Hallo,


    ich habe schon diverse Module (Webcam, Madwifi, Ndiswrapper, DVB-T) mit

    Code
    make
    make install

    erstellt und es funktioniert definitiv.
    Bedingung ist, dass die Linux-Header, passend zum Kernel, installiert sind.


    Eine interessante Methode ist auch die Verwendung des Module-Assistant.


    Gruß,


    Knittels

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!