NGW100-Buildroot erstellt falsche Module

Gast #1679435
Lesenswert?

Guten Abend

Ich bschäftige mich schon etwas länger mit dem NGW100 um Linux und die 
AVR32'iger besser zu verstehen.
Doch seit zwei Tagen komme ich einfach nicht mehr weiter und hoffe ihr 
könnt mir dabei helfen. Mein Problem ist, dass ich es nicht schaffe ein 
Build zu erstellen, bei dem ich die von Buildroot kompilierten Module 
laden kann.
Meine bisherigen versuche ein Modul zu laden, endeten immer mit der 
Meldung:

"insmod: cannot insert 'Name_des_Moduls': invalid module formate"

Daraufhin habe ich ein Makefile gefunden, mit dem es mir möglich ist die 
Module einzeln zu kompilieren. Aber das muss doch auch direkt mit 
Buildroot funktionieren?!

Mein bisheriges Vorgehen:

make atngw100_defconfig
make
make linux26-menukonfig (Module auswählen)
make

Gruß Jasper
Gast #1679626
Lesenswert?

Guten Morgen

Dass ich vom falschen Medium boote, kann ich ausschliesen, da ich:

1. alle Einstellungen auf der SD-Card vornehme und diese auch wirksam 
sind, und ich

2. Uboot auf SD umgestellt habe.

Trotzdem danke für deine Antwort

Jasper
Gast #1679743
Lesenswert?

Hi

Ich hab ja im ersten Post schon geschrieben, dass ich von Hand 
kompilierte Module laden kann aber die vom Buildroot erstellten nicht. 
Das heißt ich prinzipiell ist es mir möglich Module zu laden, aber es 
sieht so aus, als würde Buildroot vielleicht gegen einen anderen Kernel 
(hab aber keinen anderen Installiert) kompilieren.

Jasper
Gast #1680262
Lesenswert?

Hey

Ich wollte jetzt mal fragen, ob es euch wirklich möglich ist durch dass 
folgende Vorgehen einen Kernel und die dazugehörigen Module zu 
erstellen.

1. make atngw100_defconfig
2. make
3. make linux26-menuconfig (dort Module auswählen)
4. make
5. binaries/atngw100/rootfs.tar.bz2 auf SD-Card entpacken, fstab 
anpassen und booten
6. modprobe oder insmod für ein mitkompiliertes Module ausführen


Wenn ja dann müsste es doch bei mir am Host-System liegen, oder irre ich 
mich?

Viele Grüße
Jasper
#1684357
Lesenswert?

Ich habe ebenfalls Probleme damit einzelne Module hizuzunehmen, ob die 
nun statisch dazu gelinkt werden oder per Insmod. Die Buildroot 
menu/makefile funktionieren m.E. nur korrekt wenn Du den Mainstream 
nimmst.

Man kann dem OS aber einen Debuglevel mitgeben der detaillierte Ausgaben 
macht wenn Insmod aufgerufen wird. Den Befehl dazu habe ich aber im 
Moment nicht parat. Evtl. googlest Du mal danach Stichword Linux kernel 
debug level..

Gruß THaala
#1688433
Lesenswert?

So - ich bin fündig gweorden.

Bei dem Output um den es mir geht handelt es sich um Ausgaben, die um 
Treiber - Modul mit printk getätigt werden.

Damit diese im Moment wenn Insmod funktionen des Treibers aufruft auch 
auf der Konsole erscheinen mußt due den Debug - Level des kernel 
erhöhen.

Das eght über folgende Zeile
 echo "5 4 1 7" > proc/sys/kernel/printk

Die Debug Level sind:
     #define KERN_EMERG   "<0>" /* system is unusable               */
     #define KERN_ALERT   "<1>" /* action must be taken immediately */
     #define KERN_CRIT    "<2>" /* critical conditions              */
     #define KERN_ERR     "<3>" /* error conditions                 */
     #define KERN_WARNING "<4>" /* warning conditions               */
     #define KERN_NOTICE  "<5>" /* normal but significant condition */
     #define KERN_INFO    "<6>" /* informational                    */
     #define KERN_DEBUG   "<7>" /* debug-level messages             */

Du musst jetzt noch (mindestens im Init - Aufruf deines Moduls)
nach printk scannen - und wenn keins vorhanden ist evtl selbst welche 
einsetzen.

Wenn das alles nichts nutzt ist der Output nicht interpretierbar für 
insmod. Evtl kein ELF - format oder so was...?

Hier noch ne weiter Hilfe zum Debugging :
http://www.xml.com/ldd/chapter/book/ch04.html

Gruß THaala

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren