Seite 1 von 1

kernel modul

Verfasst: 06. Jul 2006 14:10
von friedrich_chiller
Hallo, ich habe ein Problem mit dem Programmieren von einem Kernel-Modul. Ich will ein Modul schreiben, welches auf eine Datei zugreifen kann. Folgendes Modulgrundgerüst habe ich schon zum laufen gebracht:

#include <linux/module.h>
#include <linux/kernel.h>

int init_module(void)
{
printk(KERN_INFO "jaman\n");
return 0;
}

void cleanup_module(void)
{
printk(KERN_INFO "jaman\n");
}



Leider kann ich in Module nicht die stdio.h mit einkompilieren. So fehlt mir eine Funktion um in Dateien schreiben zu können. Gibt es fertige Funktionen im Kernel die mir diese Aufgabe erfüllen?

Verfasst: 07. Jul 2006 1:08
von Janka
Mach dir erstmal klar, was Kernel-Module sind, und *warum* du nicht einfach aus dem Kernel heraus auf dem üblichen Weg eine Datei erzeugen kannst:

Der Kernel ist der, der bei Aufrufen von fopen() etc. aus einer Applikation heraus am anderen Ende der Leitung hängt und das tut, was der Prozess gerne hätte. Der Kernel ist also nicht so aufgebaut wie ein Applikationsprogramm, sondern ein Gegenstück dazu. Im Grunde genommen ist der Kernel eine Art "Über-Library", die die grundlegende Organisation des laufenden Rechners übernimmt.

Deshalb kann man auch alles vergessen, was man über das Programmieren von Applikationen weiß, wenn man mit Kernelprogrammierung anfängt.

Lies mal "Understanding the Linux Kernel" von Bovet und Cesati, erschienen bei Oreilly. Gibt es auch Online: http://safari.oreilly.com/0596005652

Janka

Verfasst: 12. Jul 2006 14:51
von Marco Gerber
guten Tag

Hier noch ein paar gute Anlaufstellen fuer das Kernelhacking, welche mir immer wieder eine gute Referenz sind und mich schon vor manchem Unsinn bewahrt haben ;} .

http://ezs.kr.hsnr.de/TreiberBuch/html/
http://www.oreilly.de/german/freebooks/ ... book1.html

Und hier noch ein Projekt, welches sich jeder Neueinsteiger im Kernelbereich anschauen sollte:
http://kerneljanitors.org/


Marco Gerber