2010-12-12 1 views
0

Ich versuche Folgendes zu erreichen: Es gibt eine Binärdatei mit einfachen Mathematik (+ und *) - wie eine Bibliothek. Und die Pläne sind solche Datei in Assembly zu erstellen. Die Frage ist, wie man den Inhalt einer solchen Datei dem Modul "gibt".Linux-Modul Loadables

Ich hatte gehofft, dass ELF Funktionalität erfordert, aber als Modul ist ELF und es ist nicht klar, ob es möglich ist, ELF-Objekt in einem Modul zu laden und zu verwenden.

+0

Sie möchten ein Kernel-Modul erstellen, das seine eigenen Module lädt? Warum? – Rup

Antwort

1

Wenn ich verstehe, was Sie richtig sagen, haben Sie ein Stück Code in Assembly mit einigen Funktionen, die grundlegende Mathematik und Sie möchten sie in einem Linux-Kernel-Modul verwenden?

Kompilieren Sie die Assembly zusammen mit dem Kernelmodul, fügen Sie die Datei asmoutput.o den Abhängigkeiten für das Kernelmodul hinzu. Da dies jedoch Ihre Modulplattform abhängig machen würde, weiß ich nicht, was das Verfahren ist. Ich denke nicht, dass es gewöhnlich gemacht wird; Die meisten Kernelmodule sind in C.

Sie sind Missverständnis, was ELF ist denke ich. ELF ist das Format der Binärdatei, die für ausführbare Dateien verwendet wird, mehr nicht.

Wenn Sie versuchen, andere Kernel-Module zu laden, nun, Modulabhängigkeit passiert, so ist dies definitiv möglich, aber wie Rup in den Kommentaren sagt, warum? Es gibt sehr wenige Gründe, verschiedene abhängige Codebits zu wechseln.

+0

Es tut mir leid, ich habe nicht hinzugefügt, dass das Ziel ist, dass das Objekt mit Mathematik ersetzbar sein soll. – Hitstudent

+0

Also, ein Plugin-System für ein Plugin-System? Wenn Sie möchten, dass die Mathematik ersetzt wird, würde ich empfehlen, das Kernel-Modul mit der entsprechenden Mathematik neu aufzubauen. Ich würde immer noch fragen, warum dies im Kernelraum getan werden muss. –

+0

Ich kann versuchen, meine Aufgabe zu erfüllen, indem ich alle möglichen Arten der Kommunikation habe und wähle die, die am besten passt. Ich weiß von 3 Möglichkeiten, wenn ich Informationen zum Kernraum erhalte: Gerät, procfs und Lesendatei von fs. Gibt es einen anderen Weg? – Hitstudent