Hiya, mir sind ein paar Fragen zu kernel modulen hochgekommen. Ich muß feststellen, ich kenne mich da gar nicht aus :) Es ging darum, einen bestimmten Treiber mit ein paar Debug-Meldungen auszustatten. Der erste Schritt war einfach das setzen von ein paar defines, um den schon intergrierten debug-output zu aktivieren. Da waren viele printk()'s in diversen #ifdef XX_DEBUG_XX drin. Also hab ich die als -DXX_DEBUG ins Toplevel Makefile eingefügt (neue CFLAGS += Zeile). Dann make modules gemacht. Das mußte ich leider auch im Toplevel machen, weil ./Rules.Make (od. ähnl.) nicht gefunden werden kann (kennt jemand entsprechenden Trick? Darf man make drivers/char/driver.o machen?). Dann das erzeugte Modul mit insmod geladen. Leider scheinen die printk()'s nicht zu funktionieren (klogd etc. läuft natürlich). Muß man da nochwas machen? Oder sollten die ganz normal im syslog erscheinen? Ist es problemlos und risiorfrei, auf diese Weise module zu kompilieren und zu laden, oder kann es sein, daß kernel-seitig etwas fehlt/falsch ist, und dieser selbst gewechselt werden müßte? Was passiert, wenn zu viel printk-Output erzeugt wird? Wird das System nur langsam, oder kann es da kritisch werden (irgentwelche überlaufenden Buffer etc.)? Schließlich kann ein printk() im Kernelspace nicht blockierend sein, bis der klogd das abholt, oder? Gibt es Tricks, wie man device-driver einfacher debuggen kann? Hoffentlich kann jemand ein bißchen Licht ins Dunkel bringen :) oki, Steffen -- Dieses Schreiben wurde maschinell erstellt, es trägt daher weder Unterschrift noch Siegel. --------------------------------------------------------------------- To unsubscribe, e-mail: suse-linux-unsubscribe@suse.com For additional commands, e-mail: suse-linux-help@suse.com