Anzeige:
Ergebnis 1 bis 12 von 12

Thema: Ein einzelnes Modul kompilieren

  1. #1
    Registrierter Benutzer
    Registriert seit
    Mar 2002
    Ort
    München
    Beiträge
    1.215

    Ein einzelnes Modul kompilieren

    Hier estmal der Link:
    http://www.tldp.org/HOWTO/Kernel-HOW...es.html#AEN285

    cd /usr/src/linux
    Zuerst wird das orginal Makefile in Sicherheit gebracht:
    Code:
    mv Makefile Makefile.original
    cp Makefile.original Makefile.my
    ln -s Makefile.my Makefile   # Because some files underneath still need "Makefile"
    vi Makefile.my
    ungefähr bei Zeile 131 steht dort "SUBDIRS =kernel drivers ....."
    dieses wird nun auskommentiert und die Zeile neu eingetragen und angepasst.
    Ich nehme hier das Beispiel mit dem vfat
    Code:
    SUBDIRS       =fs/vfat
    Nun einfach das neue Makefile speichern und mit
    Code:
    make -f Makefile modules
    übersetzten.
    Danach ist das neue Modul wie zu erwarten unter fs/vfat/vfat.o zu finden.
    Dieses jetzt einfach ins /lib/modules/xxx/kernel/fs/vfat kopieren (eventuell muss das Verzeichniss "vfat" noch erstellt werden.

    Auf keinen fall sollte man auf die Idee kommen ein "make -f Makefile modules_install" auszuführen - das löscht natürlich alle anderen schon vorhandenen Module!!

    Danach kann man den link Makefile -> Makefile.my löschen (rm Makefile)
    Damit wir dann wieder ein Makefile haben linken wir noch das orginal file mit dem Makefile "ln -s Makefile.orginal Makefile"

    Daraufhin wird noch das .config angepasst z.b.:
    grep -in vfat .config
    vim +722 .config
    CONFIG_VFAT_FS=m

    PS: wenn man sich das Makefile irgendwo hin kopiert (z.b.: temp) und die Änderung im Makefile danach wieder rückgängig macht kann man sich das ganze mit dem kopieren und linken sparen

    MfG
    Daß die niedrigste aller Tätigkeiten die arithmetische ist, wird dadurch belegt, daß sie die einzige ist, die auch durch eine Maschine ausgeführt werden kann.
    (schopenhauer)
    NX6325 + Ubuntu Feisty

  2. #2
    OpenGurke Avatar von Thomas Mitzkat
    Registriert seit
    Mar 2002
    Ort
    Weimarer Republik
    Beiträge
    4.028
    du kannst auch in das verzeichnis des moduls wechseln und dort make ausführen, dürfte das selbe ergebnis sein.
    Deutschland ist die Kanne für alle Tassen dieser Welt

  3. #3
    Registrierter Benutzer
    Registriert seit
    Mar 2002
    Ort
    München
    Beiträge
    1.215
    tja - sollte man erst mal ausprobieren bevor man schreibt
    Code:
    cd /usr/src/linux/fs/vfat
    make
    Makefile:17: /Rules.make: Datei oder Verzeichnis nicht gefunden
    make: *** Keine Regel, um »/Rules.make« zu erstellen.  Schluss.
    MfG
    Daß die niedrigste aller Tätigkeiten die arithmetische ist, wird dadurch belegt, daß sie die einzige ist, die auch durch eine Maschine ausgeführt werden kann.
    (schopenhauer)
    NX6325 + Ubuntu Feisty

  4. #4
    OpenGurke Avatar von Thomas Mitzkat
    Registriert seit
    Mar 2002
    Ort
    Weimarer Republik
    Beiträge
    4.028
    make dep usw. ist durchgelaufen?
    Deutschland ist die Kanne für alle Tassen dieser Welt

  5. #5
    Registrierter Benutzer
    Registriert seit
    Mar 2002
    Ort
    München
    Beiträge
    1.215

    Code:
    /usr/src/linux/fs/vfat # make dep
    Makefile:17: /Rules.make: Datei oder Verzeichnis nicht gefunden
    make: *** Keine Regel, um »/Rules.make« zu erstellen.  Schluss.
    /usr/src/linux/fs/vfat
    und es funktioniert auch nicht wenn man "Rules.make" hier hineinkopiert usw. - glaub mir ich hab einige sachen versucht (wir hatten hier auch mal ein Thread dazu - mit der enlösung "gcc -........ vfat.c" war aber irgendwie nicht gut zu merken ).
    Daß die niedrigste aller Tätigkeiten die arithmetische ist, wird dadurch belegt, daß sie die einzige ist, die auch durch eine Maschine ausgeführt werden kann.
    (schopenhauer)
    NX6325 + Ubuntu Feisty

  6. #6
    OpenGurke Avatar von Thomas Mitzkat
    Registriert seit
    Mar 2002
    Ort
    Weimarer Republik
    Beiträge
    4.028
    nee, ich meinte ausführen von "make dep" in "/usr/src/linux"
    Deutschland ist die Kanne für alle Tassen dieser Welt

  7. #7
    Registrierter Benutzer
    Registriert seit
    Mar 2002
    Ort
    München
    Beiträge
    1.215
    Da du anscheinend nicht die möglichkeit hast es grade selber auszuprobieren hab ichs nochmal versucht - ergebnis nein! die Datei "Rules.make" ist immer noch nicht im vfat verzeichnis. Gibts immer noch nur im "/usr/src/linux".

    PS: ich glaube, wenns eine einfachere und elgantere möglichkeit gegeben hätte - würde der Schreiber der "Kernel Howto" diese verwenden.
    Daß die niedrigste aller Tätigkeiten die arithmetische ist, wird dadurch belegt, daß sie die einzige ist, die auch durch eine Maschine ausgeführt werden kann.
    (schopenhauer)
    NX6325 + Ubuntu Feisty

  8. #8
    OpenGurke Avatar von Thomas Mitzkat
    Registriert seit
    Mar 2002
    Ort
    Weimarer Republik
    Beiträge
    4.028
    auf jeden fall geht ein "make modules" und dann kopiert man das eine modul nach /lib...., das andere probiere ich gerade aus - kriegst 80 gummipunkte, wenn ich unrecht habe - bei 100 punkten gibts einen smiley.
    Deutschland ist die Kanne für alle Tassen dieser Welt

  9. #9
    OpenGurke Avatar von Thomas Mitzkat
    Registriert seit
    Mar 2002
    Ort
    Weimarer Republik
    Beiträge
    4.028
    80 gummipunkte auf dein konto
    Deutschland ist die Kanne für alle Tassen dieser Welt

  10. #10
    Registrierter Benutzer
    Registriert seit
    Mar 2002
    Ort
    München
    Beiträge
    1.215
    danke für die 80 gummipunkte

    naja, das ein make modules funktioniert ist ja verständlich
    aber das kann ne ganze weile (hängt ja vom rechner ab - man stelle sich einen 100MHz vor ) - der sinn ist ja das "vergessene" modul in max 5 min. zu benutzen (der Tipp heißt ja auch "ein einzelnes Modul kompilieren" ).
    Oder versteh ich dich da jetzt falsch?
    Geändert von Basti_litho (03.10.03 um 15:30 Uhr)
    Daß die niedrigste aller Tätigkeiten die arithmetische ist, wird dadurch belegt, daß sie die einzige ist, die auch durch eine Maschine ausgeführt werden kann.
    (schopenhauer)
    NX6325 + Ubuntu Feisty

  11. #11
    binary coder Avatar von zwerg
    Registriert seit
    May 2003
    Beiträge
    593
    Wenn du deine Config nicht veränderst baut der doch nur die neuen Modules.. oder? War bei mir jedenfalls bis jetz immer so

    zwerg
    Debian. Forever.

  12. #12
    Registrierter Benutzer
    Registriert seit
    Mar 2002
    Ort
    München
    Beiträge
    1.215
    hää??

    Config nicht verändern? neues modul wird gemacht?? versteh nur Bahnhof.
    Wenn du damit meinst, kein "make clean" auszuführen und beim "make xconfig" bzw. "make menuconfig" das neue modul auszuwählen und ein make abzugeben - dann gebe ich dir recht - aber in der Regel machen viele ein "make clean" bevor sie irgendwas dort machen, was ja auch durchaus sinnvoll ist (ist jetzt aber nicht das Thema).
    Daß die niedrigste aller Tätigkeiten die arithmetische ist, wird dadurch belegt, daß sie die einzige ist, die auch durch eine Maschine ausgeführt werden kann.
    (schopenhauer)
    NX6325 + Ubuntu Feisty

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •