2016-03-22 7 views
0

Habe Ndisgen verwendet, um zu versuchen, ein .ko-Kernelmodul für einen rtl8192se-Treiber für mein Freebsd 9-Netbook zu erzeugen, nachdem ich den Anweisungen auf verschiedenen Dev-Blogger-Sites gefolgt war..kmod und .ko - Unterschied?

Irgendwie konnte ich gerade keine Datei mit der Erweiterung .ko generieren. Stattdessen erhalte ich eine .kmod-Datei. Frage ist, was ist der Unterschied zwischen diesen?

Ich habe auch kldload für diese .kmod-Datei versucht. Wenn ich es über kldstat überprüfe, ok, sehe ich es dort, aber wenn ich dann mit dmesg und pciconf -lv nachschaue, ist meine Realtek-Karte immer noch nicht angeschlossen.

Also ich denke, ich muss wirklich die .ko-Datei an erster Stelle generieren, aber was mache ich falsch oder fehlt, so dass nur ein kmod generiert wird? Irgendwelche Hinweise würden geschätzt! Vielen Dank! :)

Update ::

Es war eine Botschaft, die ich ignoriert hatte.

Mein schlechtes!

die Nachricht nach der Umwandlung war:

„... Aufräumen ... rm: Maschine: ein Verzeichnis Bereinigung failed.Exiting wird“

Das ist alles, weil ich eine Kopie der "geklebt hatte/usr/include/machine "Ordner mit allen Headern, die ich für den Pfad benötigt habe, in den ich den Treiber konvertiert habe.

Aber ich ignorierte das Denken, naja da ndisgen bereits eine .kmod-Datei erstellt hatte (was ich auch für ein Kernel-Modul gehalten hatte, einfach nicht in .ko-Form), dann war es in Ordnung.

SO schließlich, da es beschwert, dass es ein Verzeichnis ist und nicht gereinigt werden kann, habe ich stattdessen eine symbolische Verknüpfung zu diesem Ordner erstellt.

Et voila! Die Reinigung war erfolgreich und jetzt habe ich die .ko-Datei! : D

Antwort

0

Das Skript ndisgen benennt die Datei .ko vorübergehend in .kmod um, um etwas zu bereinigen. Wenn diese Bereinigung funktioniert, sollte sie in eine Datei .ko umbenannt werden. Siehe die drvgen Funktion /usr/src/usr.sbin/ndiscvt/ndisgen.sh. Ich gehe davon aus, dass zwischen beiden Umbenennungen etwas schief läuft. Erhalten Sie Fehlermeldungen?

Beachten Sie, dass wenn Sie den Treiber laden, sollte es als Gerät angezeigt werden!

+0

Das war es! Vielen Dank! Bei der Ausführung von ndisgen war nach "Conversion successful" tatsächlich etwas nicht in Ordnung. (Bitte beachten Sie mein Update im ursprünglichen Post).In einer anderen Anmerkung, obwohl der Treiber geladen ist (wie man sehen kann, wenn ich kldstat ausführe), sehe ich immer noch nicht den ndis0. "ifconfig ndis0"> Schnittstelle ndis0 existiert nicht. "pciconf -lv"> Die Realtek-Karte ist noch keine1 @ pci0: 5: 0: 0. Aber mir ist klar, dass dies ein weiterer Beitrag sein sollte. Vielen Dank für dieses Geheimnis! : D – kookie

+0

Denken Sie daran, dass Fragen wie diese besser für [serverfault] (http://serverfault.com/) oder [Unix & Linux] (http://unix.stackexchange.com/) geeignet sind. –

Verwandte Themen