Eigenes Programm compilieren?

thenessie

Neuer User
Mitglied seit
28 Feb 2011
Beiträge
8
Punkte für Reaktionen
0
Punkte
1
Hallo zusammen,
nachdem ich nun als LINUX-Neuling nach einigen Tagen meine Fritzbox 7170 SL mit Freetz 1.1.4 (+RRDStats+ftdi+httpd), einem USB-Stick und einem USB-Serial-Konverter ans Laufen gebracht habe, hier nun mein neues "großes" Problem:

Ich möchte gerne eine kleine Applikation schreiben, die es mir ermöglicht, serielle Daten, die über /dev/ttyUSB0 einlaufen zu verarbeiten. Konkret möchte ich die Daten in eine Datei auf dem USB-Stick sichern (als eine Art Logfile zum späteren Auswerten) und die Daten zusätzlich an RRDStats senden, um Graphen von den Daten zu erzeugen.

Dieses Programm möchte ich am liebsten irgendwie in der freetz-linux-Umgebung programmieren und kompilieren und dann auf den USB-Stick legen.
Auf der Box kann ich die dann erstmal zum testen per telnet ausführen, später schreib ich dass dann in die rc.custom.

Ich habe nach den diversen Tutorials ein "Hallo Welt"-Package namens "logger" in /make/logger angelegt. Es erscheint auch im menuconfig und es gibt keine sichtbaren Fehlermeldungen. Wenn ich das Firmwareimage flashe kann ich anschließend per telnet "logger" ausführen. Allerdings bekomme ich NIX zu sehen in der Ausgabe und das Programm beendet sich auch nicht, ich muss erst CTRL+C drücken.
Ich bin mit meinem nicht vorhandenen Linux-C-Latein am Ende und wollte fragen, ob es eventuell irgendwen gibt, der mir da etwas auf die Sprünge helfen kann.
Wie gesagt, eigentlich will ich das gar nicht per Package machen sondern lieber einfach ein Executable erstellen, dass ich dann per USB-Stick mounten und starten kann (zumindest während der Testphase)....

Vielen Dank für die Geduld beim Durchlesen :)

Viele Grüße
Christian
 
...
Ich bin mit meinem nicht vorhandenen Linux-C-Latein am Ende und wollte fragen, ob es eventuell irgendwen gibt, der mir da etwas auf die Sprünge helfen kann.
...
Wer hat den Quellcode für dein Programm geschrieben? Funktioniert das Programm auf deinem PC mit Linux (z. B. für i386)?
 
Hallo sf3978:

Den Code versteh sogar ich noch halbwegs ;-)

/* logger.c Version:0.0.01 */
#include <stdio.h>

main() {
printf("Hello World, I'm a logger!\n");
}

Ich probier gerade, diesen Code mit dem mipsel-linux-gcc compiler zu compilieren und mit dem USB-Stick auf die FB zu bekommen und dort zu starten, also nicht über den "Umweg" eines Packages!
Gruß C

EDIT: Also das hat im ersten Anlauf nicht geklappt. Auch wenn ich einfach versuche "gcc -o logger02 logger.c" zu benutzen, erstellt er zwar ein executable "logger02", aber wenn ich das versuche auszuführen (also jetzt in der freetz-linux-Umgebung) dann kommt da "logger02: command not found"... Obwohl das Programm in dem Verzeichnis exisitert...
 
Zuletzt bearbeitet:
Dein binary heißt "logger"? Hast Du dich vor dem flashen überzeugt, ob es auf der FritzBox nicht schon ein anderes binary, script, etc., das logger heißt, gibt?
 
Hmm, nein, ich probiers gleich mal aus... Würde mich aber wundern, wobei das natürlich kein Argument ist ;-)
 
Mach mal auf der Box find / -iname 'logger' und ldd /<Pfad/zu>/logger und poste die Ausgaben. Wenn Du ldd auf der Box hast.
 
Hm, ja, du hast Recht, es gibt in der busybox einen Befehl namens "logger"...
find gibt "/usr/bin/logger"
 
ICH HABS :)
Also wenn man weiß, wie ein executable ausgeführt wird ("./logger01") dann klappts auch :)
Sehr schön, vielen Dank für das Mitdenken.
Ich kann jetzt also loslegen und meine eigene kleine Applikation schreiben und dann hoffen, dass das dann alles klappt...
Das soll erst einmal reichen für heute, werde dann wohl am WE wieder Zeit finden, weiter zu basteln.
Gruß
Christian
 
logger ist übrigens eine schlechte Wahl. So heißt ein Applet der busybox.

Gruß
Oliver
 
Holen Sie sich 3CX - völlig kostenlos!
Verbinden Sie Ihr Team und Ihre Kunden Telefonie Livechat Videokonferenzen

Gehostet oder selbst-verwaltet. Für bis zu 10 Nutzer dauerhaft kostenlos. Keine Kreditkartendetails erforderlich. Ohne Risiko testen.

3CX
Für diese E-Mail-Adresse besteht bereits ein 3CX-Konto. Sie werden zum Kundenportal weitergeleitet, wo Sie sich anmelden oder Ihr Passwort zurücksetzen können, falls Sie dieses vergessen haben.