Forum: PC-Programmierung buildroot configuration, Linux


von Klatec (Gast)


Lesenswert?

Hallo Zusammen

Ich habe die Entwiklungsumgebung Buildroot insalliert und wollte 
menuconfig mit dem Befehl make, wie in einem Beispiel angeführt, öffnen. 
Aber leider kommt immer der Fehler Kommando nicht gefunden.

root@vigor30:/opt/buildroot-2011.08#   make menuconfig

GNU
Version: 2.30.2
Distribution: Debian
Erstellungsdatum: 2010-11-12

Wo liegt der Fehler.

Ich bitte um eure Hilfe. Danke.

von hp-freund (Gast)


Lesenswert?

Bei mir gehts. Hast Du denn auch make, gcc usw. installiert?

Probier mal make allein.

von Klatec (Gast)


Lesenswert?

Danke.
Ich beginne erst mit embedded Linux und ich bin einigermassen 
überfordert. Ich habe  zwar einen Compiler instaliert, war beim 
taskit-Tool dabei aber das Programm make muss ich erst installieren, 
besser gesagt vom I-net downladen, mach ich morgen hab schon Kopfweh. 
Danke nochmals für den Tip.

von dagger (Gast)


Lesenswert?

Klatec schrieb:
> aber das Programm make
Mach mal ein
apt-get install buildessential
um das Paket buildessential zu installieren (oder mit einem 
GUI-Programm), dann müsste das Problem schon mal weg sein.

Ach ja, dann ordne deine Gedanken, ich vermute es war heute ein harter 
Tag. ;-)

von Klatec (Gast)


Lesenswert?

Hallo

Ich habe nun die Installation mit

apt-get install build-essential die Install nochmals durgeführt und nun 
funktioniert der make Befehl.

Wie soll's auch anders sein habe ich nun ein anderes Problem.
Nach Durchführung der Config im menuconfig (mit Hilfe des Lektor Buchs 
Em..Li.. in der Mikrocontrollerpraxis) habe ich abgespeichert und wollt 
wie gefordert folgenden Befehl durch führen

root@Vigor30:/opt/buildroot-2011.08# make saveconfig
make: *** Keine Regel, um »saveconfig« zu erstellen.  Schluss.

Wo liegt hier der Fehler?  Bitte um Unterstützung. Danke.

von Andreas D. (rackandboneman)


Lesenswert?

Kann es sein dass du make-Targets für einen Kernel-Build mit denen von 
Buildroot in einen Topf wirfst?

von keule (Gast)


Lesenswert?


von Klatec (Gast)


Lesenswert?

Hallo Keule

Danke. Das ist der Knabe.

Wenn ich nun den Download und Bauvorgang mit make starte bleiben 
folgenden Fehlermeldung übrig.


--2011-09-14 16:36:36-- 
http://www.kernel.org/pub//linux/kernel/v3.0//linux-32..tar.bz2
Auflösen des Hostnamen www.kernel.org... 140.211.169.30
Verbindungsaufbau zu www.kernel.org|140.211.169.30|:80... verbunden.
HTTP-Anforderung gesendet, warte auf Antwort... 503 Service Temporarily 
Unavailable
2011-09-14 16:36:42 FEHLER 503: Service Temporarily Unavailable.

--2011-09-14 16:36:42--  http://sources.buildroot.net//linux-32..tar.bz2
Auflösen des Hostnamen sources.buildroot.net... 176.9.16.109
Verbindungsaufbau zu sources.buildroot.net|176.9.16.109|:80... 
verbunden.
HTTP-Anforderung gesendet, warte auf Antwort... 404 Not Found
2011-09-14 16:36:47 FEHLER 404: Not Found.

make: *** [/opt/buildroot-2011.08/dl/linux-32..tar.bz2] Fehler 1

Nehme an er findet keine Dateien?

von keule (Gast)


Lesenswert?

Klatec schrieb:
> Nehme an er findet keine Dateien?
Ja, kernel.org wurde gehackt, die sind auf github umgestiegen.
Siehe:
http://www.heise.de/open/meldung/Hauptentwicklungszweig-von-Linux-voruebergehend-bei-Github-1336637.html
und siehe:
http://kernel.org/

Du musst also irgendwo die Quellen anpassen, frage mich nicht wo das in 
buildroot geht...

von keule (Gast)


Lesenswert?

keule schrieb:
> Ja, kernel.org wurde gehackt, die sind auf github umgestiegen.
Der Klarheit wegen, vorrübergehend umgestiegen, bis sie alle Probleme 
und Fragen gelöst haben.

von Andreas D. (rackandboneman)


Lesenswert?

Im Zweifelsfall mit dem Holzhammer suchen: grep -r "www.kernel.org" 
/opt/buildroot-2011.08

von O. D. (odbs)


Lesenswert?

Einfach die nicht gefundene Datei manuell von einem Mirror runterladen 
und in das Verzeichnis buildroot/dl/ ablegen. Dann make neu starten.

Da es sich bei den Fehlern bei kernel.org um ein temporäres Problem 
handelt, würde ich nicht in den Skripten rumpfuschen.

von O. D. (odbs)


Lesenswert?

Noch ein Tipp: Mach mal zuerst "make source", dann bleibt der 
Build-Vorgang nicht mittendrin stehen wegen irgendwelcher 
Downloadfehler.

von Klatec (Gast)


Lesenswert?

Ich hab zwar schon nach den Pfaden gesucht und es sind eine ganz schön 
viele und da ich in Sachen Linux noch sehr grün bin hinter den Ohren, 
werde ich mich hüten da rumzupfuschen.

'make source' hatte ich vorher schon durchgeführt und natürlich ist auch 
hier die Fehlermeldung gekommen.
Ich möchte mich bei allen für ihre Antworten danken, ohne diesem Forum 
würde ich total alt aussehen. Danke.

von keule (Gast)


Lesenswert?

Klatec schrieb:
> 'make source' hatte ich vorher schon durchgeführt und natürlich ist auch
> hier die Fehlermeldung gekommen.
Nach dem manuellen Download dürfte das ja ohne Fehler durchgelaufen 
sein, oder?
Mit Oliver Döring (14.09.2011 17:04) müsste das ja funktionieren...

> Ich möchte mich bei allen für ihre Antworten danken, ohne diesem Forum
> würde ich total alt aussehen. Danke.
Läuft es denn jetzt?

Wenn ja, erkläre doch bitte was du gemacht hast. Eigentlich bist du 
(unwissenderweise) mein Tester, ich muss da wohl in zwei, drei Monaten 
ran. ;-)

von Klatec (Gast)


Lesenswert?

Keule schrieb:
> Läuft es denn jetzt?

Leider nein. Ich kann mit der Info
> manuell von einem Mirror runterladen

nichts anfangen. Manuell ist mir klar, ich muss die Datei im Netz 
suchen, aber ich hab ein Problem mit den beiden Punkten .. im Pfad und 
finde über Google nichts und weiß auch nicht was mirror bedeutet, ausser 
Spiegel.

> http://sources.buildroot.net//linux-32..tar.bz2

von keule (Gast)


Lesenswert?

Mirror ist ein Spiegel zum Herunterladen des Kernels, Spiegel, da ein 
und dieselbe Datei auf mehreren Servern gespiegelt also mehrfach 
vorhanden ist.

Unten ist einer. Du musst nur in den Buildroot-Einstellungen schauen, 
welchen er herunterladen will und den dann vorher selbst Herunterladen.

Beim aktuellen Buildroot scheint es 2.6.39.4 zu sein, den kannst von 
hosteurope herunterladen
http://ftp.hosteurope.de/mirror/ftp.kernel.org/pub/linux/kernel/v2.6/linux-2.6.39.4.tar.gz
oder auf der Seite den entsprechenden herunterladen:
http://ftp.hosteurope.de/mirror/ftp.kernel.org/pub/linux/kernel/v2.6/
oder, falls den einen 3.xer-Kernel brauchst:
http://ftp.hosteurope.de/mirror/ftp.kernel.org/pub/linux/kernel/

von O. D. (odbs)


Lesenswert?

>Ich beginne erst mit embedded Linux und ich bin einigermassen
>überfordert.

Buch schon mal ein Anti-Aggressions-Seminar. Buildroot ist das perfekte 
Werkzeug, um dich nervlich völlig fertig zu machen. Besonders, wenn du 
"mal eben schnell" ein Linux-System für exotische Hardware brauchst.

Andererseits, wenn man sich da durchkämpft, kann man eine ganze Menge 
über Makefiles, Autoconf und die grundlegenden Software-Pakete eines 
Linux-Systems lernen.

Für was für eine Plattform baust du denn?

von Andreas D. (rackandboneman)


Lesenswert?

Evtl ist der LFS-Approach da fast stressfreier :) Oder Debian nehmen und 
sich auf die Anwendung konzentrieren - je nachdem was man will.

von Klatec (Gast)


Lesenswert?

Hallo

Ich bin jetzt schon fix und fertig weil ich bis auf die Ausgabe der Led 
auf dem Board nichts zustande bekomme.
Ich hab mir von der Firma Taskit den Stamp9G20 und dazu das 
Entwicklungsboard gekauft.
Was möchte ich.
Ich brauche eine CPU die mit ext. Baugruppen seriell  über SPI und einem 
RS485 Baustein kommuniziert(Vorteil ich kann die Baugruppen dann auch 
absetzten), wobei sich es hier je Baugruppe um 16 Ein- oder Ausgänge 
handelt.
Die Verarbeitung soll jedoch auf der CPU erfolgen, Einzel- 
Doppelmeldebehandlung, Dauerausgang, blinkender Ausgang usw. Vieleicht 
benötige ich auch einmal eine Anlaogwertkarte, wer weiß und all diese 
Baugruppen werden auf eine 35 TS aufgeschnapt (wie die Sicherungen im 
Zählerkasten) und mit dem im Phönix-Gehäuse enthaltenen Bus mit der CPU 
verbunden.
Auf der CPU müssen noch einige Schnittstellen vorhanden sein so das ich 
mit 60870-101 (serielles Fernwirkprotokoll) vieleicht gelingt es mir 
auch eine ET-Verbindung (60870-104) einzurichten.
Weitere Aufgaben der CPU ist der interne und externe Datenfluß, FUP 
(SPS), und natürlich benötige ich einen Speicherbereich für die 
Parameter, durch die dieses System universal einsetzbar sein soll. Diese 
werden über eine Toolbox, die ich vermutlich über C# schreiben werde, in 
das System über eine ser. Service SS geladen.

Parameter:
z.B
Baudrate für die Kommunikationen
Invertierung von IO's
Störstellungsunterdrückungszeit bei Doppelmeldungen (1-1)
Firmwarefilterzeit bei Eingängen
usw.

Das Board Stamp9G20 hat einen ARM 9 und ist auch vom Takt sicher in der 
Lage alle diese Aufgaben zuerledigen, vor allem benötige ich dann kein 
Mehrprozessor System wie es bisher üblich war.

Ich hatte von embedded Linux keine Ahnung, und mußte mittlerweile 
erkennen das man das nich im vorbeigehen erledigt. Ich bin leider kein 
Theoretiker ich benötige immer praktische Beispiele das ich verstehe 
worum's geht.

Ich habe Debian am Rechner weil die Fa. Taskit dieses BS unterstützt und 
habe auch schon eine Verbindung über NFS mit dem Target und schreibe mit 
C kleine Anwendungen die die Led's auf dem Board ansteuern, aber das 
war's dann schon. Ich kann werder die vorhanden Tasten abfragen 
gescheige die SPI Schnittstelle verwenden. Wenn ich die vielen Listen im 
Buch 'Embedded Linux in der Mikrocontrollerpraxis' sehe wird mir ganz 
schwindelig. Ich benötige funktionierende Beispiele an denen ich mich 
dann hocharbeiten kann. Dies habe ich bei der 8051 Familie so gemacht. 
ufff

von O. D. (odbs)


Lesenswert?

Ein vollwertiges Betriebssystem wird interessant, wenn du komplexe 
Protokolle oder Hardware brauchst wie Ethernet, USB, Dateisysteme, 
LC-Display, Audio und so weiter. Da ist dann schon alle Arbeit erledigt, 
und du kannst dich auf die eigentliche Anwendung konzentrieren.

In deiner Aufzählung scheint aber nichts davon vorzukommen. Denk dran, 
dass ein Embedded Linux von Hause aus kein Echtzeitbetriebssystem ist 
und zeitkritische Kommunikation über serielle Schnittstellen mit 
spezieller Hardware wahrscheinlich von dir zu entwickelnde 
Kernel-Treiber voraussetzt.

Ansonsten bist du auf das vom PC bekannte open("/dev/ttyS0"...) 
beschränkt.

Möglicherweise ist ein schneller, kleinerer µC mit einigermaßen RAM, 
aber ohne Betriebssystem für deine Aufgabe besser geeignet? Wenn es um 
LEDs ein- und ausschalten und Daten verteilen über (einfache) 
Schnittstellen geht, allemal.

von Andreas (Gast)


Lesenswert?

Klatec schrieb:
> Ich habe Debian am Rechner weil die Fa. Taskit dieses BS unterstützt und
> habe auch schon eine Verbindung über NFS mit dem Target und schreibe mit
> C kleine Anwendungen die die Led's auf dem Board ansteuern,

Wenn Du schon eine Toolchain hast, um Programme für Dein Board zu 
erstellen, brauchst Du Buildroot nicht. Lade Dir einfach einen aktuellen 
Kernel herunter und compiliere ihn für Dein Board. In den Kernel-Sourcen 
sollte es eine passende defconfig geben, müsste stamp9g20_defconfig 
heißen. Die kannst Du noch an Deine persönlichen Bedürfnisse anpassen - 
dafür solltest Du Dir aber Zeit nehmen, es gibt sehr viele Schrauben, an 
denen man drehen kann und entsprechend muss man viel lesen, um zu 
verstehen, was die einzelnen Parameter tun.
Anschließend baust Du Dir mit debootstrap ein passeendes rootfs. Schon 
läuft auf Deinem Board ein schickes Debian und Du kannst alle möglichen 
zusätzlichen Programme mit apt-get installieren - so wie auf Deinem 
Hauptrechner.

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
Noch kein Account? Hier anmelden.