Das Elektor-Forum schließt seine Pforten (siehe auch http://www.elektormagazine.de/forum). Ab Freitag, den 01. März, ist es nicht mehr möglich, sich im Forum einzuloggen. Alle Inhalte des Forums bleiben jedoch bis Ende März noch sichtbar. Am 01. April wird das Forum schließlich komplett geschlossen.

elektor 01-2013 Embedded Linux Teil 7

Postby topassi » Sun Jan 13, 2013 12:00 am

Ich wollte den Kernel-Update durchführen. "make zImage" bricht mit Fehlermeldungen ab. Anbei das Ende von der Konsolenausgabe. Ursache scheinen -Werror Anweisungen im Makefile zu sein. Diese habe ich einmal herausgenommen, dann hängt das make an anderen Fehlermeldungen. Ohnehin wäre es wohl besser an den Ursachen anzusetzen. Wer hat den nötigen Einblick das zu beheben? Gibt es jemanden, bei dem das make gemäß Artikelbeschreibung S.74/75 durchläuft?

(...)
In file included from include/linux/blkdev.h:12:0,
from kernel/acct.c:60:
include/linux/pagemap.h: In function 'fault_in_pages_readable':
include/linux/pagemap.h:415:16: warning: variable 'c' set but not used [-Wunused-but-set-variable]
CC kernel/kexec.o
CC kernel/cgroup.o
In file included from kernel/cgroup.c:34:0:
include/linux/pagemap.h: In function 'fault_in_pages_readable':
include/linux/pagemap.h:415:16: warning: variable 'c' set but not used [-Wunused-but-set-variable]
kernel/cgroup.c: In function '__put_css_set':
kernel/cgroup.c:291:2: error: implicit declaration of function 'atomic_add_unless' [-Werror=implicit-function-declaration]
cc1: some warnings being treated as errors
make[1]: *** [kernel/cgroup.o] Error 1
make: *** [kernel] Error 2
topassi
 
Posts: 5
Joined: Fri Jan 03, 2014 1:56 pm

Postby ag » Mon Jan 14, 2013 12:00 am

Hallo,

ich habe erst heute Zugriff auf Online Jan/Feb 2013 bekommen, und es gleich ausprobiert. Ich habe schon bei der vorheriger Schritt "make elektor_defconfig" Fehler bekommen, da in Verzeichnis .../arch/arm/configs ein "elektor_defconfig" gesucht wird aber sich dort gar nicht befindet. Ich vermute das es dir ebenso gegangen ist, und deshalb den Fehlern bei "make zImage" aufgetreten sind. Ist naturlich keine grosse Hilfe, aber vielleicht zumindest eine Erklärung, und eine Anlaufstelle wo mann weiter ansetzten kann

Viele Grüße,
Ag
Ag
ag
 
Posts: 533
Joined: Thu Jan 02, 2014 10:37 am

Postby topassi » Fri Jan 18, 2013 12:00 am

Hallo Ag,
na, das war anscheinend der passende Hinweis... - Ich habe einfach elektor_defconfig an die gewünschte Stelle kopiert und sowohl make menuconfig als auch make zImage laufen ohne Fehlermeldungen durch. Ausprobieren des neuen Kernel muß bis morgen warten.
Danke,
Thomas
topassi
 
Posts: 5
Joined: Fri Jan 03, 2014 1:56 pm

Postby topassi » Fri Jan 18, 2013 12:00 am

nun ja - so funktioniert das nicht... mit dem Kernel geht nix auf meinem Board. Da sollte der Autor mal erst den oder die Fehler beheben. Ich kann jedenfalls weder mit picocom noch mit rlogin eine Verbindung zum Board herstellen. elektor_defconfig einfach zu kopieren ist wohl doch zu einfach gewesen. Ich werde mir mal bei Gelegenheit die Doku genauer anschauen.
topassi
 
Posts: 5
Joined: Fri Jan 03, 2014 1:56 pm

Postby gunb » Fri Jan 25, 2013 12:00 am

Hallo zusammen,

also wenn ich mir die Datei 'elektor_defconfig' anschaue, dann ist das ja eigentlich eine Sicherung der Einstellungen, die über 'menuconfig' vorgenommen worden sind.

'menuconfig' habe ich schon damals für andere Linux-Boards genutzt, am Ende kommt nach der Konfiguration beim Verlassen eine '.config'-Datei heraus, die i.d.R. durch Aufruf von 'make' gelesen wird und über Buildroot dann das System erstellt.

Das Makefile muss ja 'elektor_defconfig' als Ziel auswerten können, wenn hier aber etwas nicht stimmt, dann beginnen die Probleme. Vielleicht hat es zwischenzeitlich Änderungen gegeben, die nicht mehr kompatibel mit neueren Paketen sind.

Ich würde Folgendes probieren:

1.) Quelltext des Kernels mit 'tar xvzf linux-2.6.33-......' frisch entpacken
2.) in dieses Verzeichnis wechseln
3.) 'make menuconfig' aufrufen
4.) in 'menuconfig' dann über 'Load an alternative configuration file' die Konfiguration 'config-gnublin' laden, die im selben Verzeichnis liegt
5.)Jetzt über 'Save an alternative configuration file' die Konfiguratin unter - ACHTUNG - '.config' speichern !!!
6.) 2x ESC und raus aus 'menuconfig'
7.) Kernel übersetzen mit 'make zImage'
8.) Kernel aus 'arch/arm/boot/zImage' auf die Karte kopieren
9.) Testen, ob's nun funktioniert

Gruß
Gunnar
gunb
 
Posts: 9
Joined: Fri Jan 03, 2014 1:57 pm

Postby gunb » Fri Jan 25, 2013 12:00 am

Hab's gerade auf die o.g. Art & Weise auch mit dem GIT-Repository der letzten Ausgabe probiert.

Funktioniert sowohl mit dem 2.6.33er Kernel als auch mit dem 3.3.0er.

Bei letzterem muss aber das 'config_backup' im 3er-Verzeichnis statt des 'elektor_defconfig' geladen, und wieder als '.config' gespeichert werden.

Das 3er-Config ist aber noch als Beta zu sehen, dennoch bootet das System.

Und immer an die Einbindung der Toolchain per . ./set.sh vor all den o.g. Schritten denken, falls nicht schon per '.bashrc' automatisiert. Sonst klappt die Übersetzung nicht.


Bin gespannt, ob ihr nun Erfolg habt. Lasst es mich wissen


Gruß
Gunnar
gunb
 
Posts: 9
Joined: Fri Jan 03, 2014 1:57 pm

Postby ag » Fri Jan 25, 2013 12:00 am

Hallo Gunnar,

vielen Dank für deine Antwort! Ich wollte deine Anleitung folgen, kann aber nicht erkennen, wo ich die neue Kernel finden soll, die ich "frisch entpacken" soll. Nach dem "git clone http://...." habe ich den schon fertig erstellte neue Kernel im Unterverzeichnis "linux-2.6.33-lpc313x" (bzw. ..3.3.0...) vom neuen Verzeichnis "gnublin-develop-kernel". Wo finde ich der noch gepackte Kernel Quelltext?

Wenn ich in Unterverzeichnis "linux-2.6.33-lpc313x" der neuen Verzeichnis "gnublin-develop-kernel" wechsel, und "make menuconfig" ausführe, bekomme ich eine andere Fehlermeldung:

*** Unable to find the ncurses libraries or the
*** required header files.
*** make menuconfig' requires the ncurses libraries.
***
*** Install ncurses (ncurses-devel) and try again.
make[1]: *** [scripts/kconfig/dochecklxdialog] Error 1
make: *** [menuconfig] Error 2


Als Linux Anfänger bin ich nun völlig verloren. Ich habe keine Ahnung was es sich mit "ncurses libraries" auf sich haben soll

Kannst du mich irgend wie wieder auf Kurs bringen? Ich habe immer noch nicht verstanden, wo ich bei der Anleitung im Elektor Heft eine Fehler gemacht haben soll, bzw. wo ggf. der Fehler im Elektor Heft liegen soll.

Besten Dank im Voraus,
Ag
Ag
ag
 
Posts: 533
Joined: Thu Jan 02, 2014 10:37 am

Postby gunb » Fri Jan 25, 2013 12:00 am

Hallo Ag,

wie es aussieht, fehlt in deinem System die Installation von 'libncurses5-dev', damit 'make menuconfig' funktionieren kann. Kann es sein, dass du diese nicht installiert hast?

Öffne einmal eine Console, unter Ubuntu z.B. durch STRG+ALT+T und gib einmal folgende Zeile ein:

'sudo apt-get install patch libncurses5-dev'

Nach der Eingage deines root-Passwortes sollte die Installation starten, falls dieses Paket noch nicht installiert war.

Danach noch einmal die von mir unten genannten Schritte ausprobieren.

Zu deiner ersten Frage:

die Quellen des Kernels brauchst du nicht anzufassen, aus diesen soll dir ja 'make menuconfig' und dann 'make zImage' einen fertigen Kernel bauen. Wenn dies erfolgreich passiert ist, dann findest du den komprimierten Kernel 'zImage' im Verzeichnis 'gnublin-develop-kernel/linux-2.6.33-lpc313x/arch/arm/boot', den du von dort auf deine SD-Karte kopierst.

Dann die Karte am Linux-System aushängen und auf dem Board einstecken & booten.

Gruß
Gunnar
gunb
 
Posts: 9
Joined: Fri Jan 03, 2014 1:57 pm

Postby ag » Fri Jan 25, 2013 12:00 am

Hallo Gunnar,

ich verwende die von Elektor zur Verfügung gestellte VirtualBox Installation von Ubuntu. Bisher hatte damit alles wunderbar funktioniert. Ich kann auch noch wie zuvor im original Verzeichnis vom linux-2.6.33-lpc313x problemlos make menuconfig, make zImage, usw. durchführen. Dann funktioniert alles auch nach Übertragung auf das ElektorBoard.

Ich versuche aber hier die im Januar Heft publizierte Anleitung zur Update der 2.6.33 Version mit git. Heisst das, ich muss nun im neuen git Verzeichnis eine Installation von libncurses5-dev durchführen? Ich habe nochmal durchgesucht, aber kann das im Heft nicht finden. Habe wohl Tomaten auf dem Augen. Auf welche Seite im Heft ist das zu finden?

Herzlichen Dank und viele Grüße,
Ag
Ag
ag
 
Posts: 533
Joined: Thu Jan 02, 2014 10:37 am

Postby gunb » Fri Jan 25, 2013 12:00 am

Hallo Ag,

OK verstanden, grundsätzlich hast du den Kernel mit den Angaben der vorherigen Kurse übersetzen können.

Ich arbeite nicht mit der virtuellen Umgebung, sondern mit nativem Linux.

Nein, normalerweise brauchst du die libncurses nicht noch einmal installieren, die befinden sich in '/usr/include' deines Systems. Hier sollte 'ncurses.h' bzw. 'curses.h' vorhanden sein.

Was passiert, wenn du 'sudo make menuconfig' eingibst?

Nebenbei eine Frage: klappt bei dir denn der Aufruf 'make elektor_defconfig'?


Gruß
Gunnar
gunb
 
Posts: 9
Joined: Fri Jan 03, 2014 1:57 pm

Next

Return to Elektor-Mikrocontroller-Forum

Who is online

Users browsing this forum: No registered users and 1 guest