Hallo an alle, ich bin hier langsam am verzweifeln, seit Tagen suche ich nach einer Lösung zu Fuß, als Workaround oder wie auch immer: Ich habe hier ein embedded ARM9 System, wessen Images ich mit Buildroot 2013.10 erstelle, welches wiederum auf einem Linux 2.6.39 Kernel basiert. Gleichzeitig habe ich ein sehr simples Kernel Modul: void GPIO_LED(void) { printk(" GPIO: set PC8: '0'); at91_set_gpio_value(AT91_PIN_PC8, 1); } int init_module(void) { GPIO_LED(); return 0; } MODULE_LICENSE("GPL"); Wenn ich beispielsweise das mdev device management benutzte funktioniert alles wie erwartet (bei allen anderen übrigens auch, bis auf) das udev device management. Wenn ich also insmod /usr/modules/measurement_gpio.ko eingebe, erscheint folgende Fehlermeldung insmod: can't insert '/usr/modules/measurement_gpio.ko': invalid module format Die Einstellungen im Buildroot und im Linux (besonders der Linux Kernel) blieben immer identisch, bis auf eben das device management - also sollte eigentlich das Kernel Modul in Ordnung sein. Den Kernel ladefähig für Module unterschiedlicher Versionen zu machen und den Kernel zu zwingen ein Modul zu laden hat auch nicht funktioniert. Hier sind die Schritte wie ich das Modul erstelle (1) Mit Buildroot erstelle ich ein Image, das Programm installiert ein Linux 2.6.39 (2) Anschließend compiliere ich mein Modul mit dem Kernel, welcher Buildroot eben heruntergeladen hat (3) Wenn nun eben die .ko Datei erstellt wurde kopiere ich es in ein fs-overlay ein, damit es beim nächsten Buildroot-make mit im Image ist (4) Zuletzt mache ich ein weiteres "make" und ich erhalte das bootfähige Image mit meinem (nur unter udev) nicht ausführbaren Kernel Modul. Ich kann leider nirgends einen Fehler erkennen, weiß jemand einen Tipp? Beste Grüße
Wieso funktioniert mein Linux Kernel Modul nicht mehr, wenn ich device management auf "udev" umstell
Re: Wieso funktioniert mein Linux Kernel Modul nicht mehr, wenn ich device management auf "udev" ums
Hat der Tip mit - udev requires inotify support - von stackoverflow nicht geholfen? http://www.gentoo.org/doc/de/udev-guide.xml -> Punkt 2.2
Re: Wieso funktioniert mein Linux Kernel Modul nicht mehr, wenn ich device management auf "udev" ums
(a) leider nein. (b) habe nach inotify im linux menuconfig gesucht und als Ergebnis kam nur "[*] Inotify support for userspace" heraus, das "[*] Inotify file change notification support" konnte ich also nicht einstellen. Alles andere war aber schon gesetzt. Also gehts leider noch nicht.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.