Forum: Mikrocontroller und Digitale Elektronik Linux Terminal Hardware abfragen


von Sven (Gast)


Lesenswert?

Hallo
Ich habe einen kleinen "Rechner" aus einer Steuerung mit ARM Cortex A8 
Microprocessor Display Wlan und einigen I/O's. Leider startet nur eine 
Software von der Maschine welche nach einigen Sekunden merkt das ein 
Hardwarefehler vorliegt... (Vermutlich weil es die Hardware ja nichtmehr 
gibt.)
Über Ssh kann ich mich einloggen. Scheinbar habe ich sogar Root rechte.

Nun kenne ich mich mit Embedded Linux kaum aus.

Gibt es eine Möglichkeit ohne die Hardware wirklich zu kennen zb io's 
abzufragen oder ein Bild auf das Display zu schieben ? und wie würdet 
ihr den Start des Programms welches ja ohne Maschine nutzlos ist 
unterbinden?

Wie sehr ihr die Chancen damit Raspberry like etwas zu spielen? Einfach 
zum üben und Spielen.

von ui (Gast)


Lesenswert?

Sven schrieb:
> Wie sehr ihr die Chancen damit Raspberry like etwas zu spielen? Einfach
> zum üben und Spielen.

Prinzipiell gut. Ist heute eigentlich keine besondere Hexerei mehr.

Sven schrieb:
> Gibt es eine Möglichkeit ohne die Hardware wirklich zu kennen zb io's
> abzufragen oder ein Bild auf das Display zu schieben ? und wie würdet
> ihr den Start des Programms welches ja ohne Maschine nutzlos ist
> unterbinden?

Schwierig. Wie wird das Display angesteuert?
IO's abfragen ist rel. simpel, Bild wie gesagt, wie's angesteuert wird. 
Wie's verbunden ist?!

Sven schrieb:
> Ich habe einen kleinen "Rechner" aus einer Steuerung mit ARM Cortex A8
> Microprocessor Display Wlan und einigen I/O's. Leider startet nur eine
> Software von der Maschine welche nach einigen Sekunden merkt das ein
> Hardwarefehler vorliegt... (Vermutlich weil es die Hardware ja nichtmehr
> gibt.)
> Über Ssh kann ich mich einloggen. Scheinbar habe ich sogar Root rechte.

Von welchem Medium bootest du?
Ein selber gebautes Board oder irgendwas eingekauftes? Welches ist es 
dann?
Zur Not: Linux Kernel neu selber kompilieren. Meist gibt es für solche 
Boards irgendwo ein yocto zum Download oder irgendjemand, der das 
schonmal gemacht hat.

von Matthias S. (Firma: matzetronics) (mschoeldgen)


Lesenswert?

Es hängt ein wenig vom linux ab, welches auf der Maschine läuft und ob 
z.B. einige Tools wie busybox installiert sind.

Der 'alte' Weg, spezifische Programme auf solchen Systemen zu starten, 
ist die /etc/init.d/rc oder /etc/init.d/rc.local. Die kann man sich mit 
'cat <Dateiname>' mal auf die Konsole werfen und schauen, ob da was drin 
steht, was an die alte Hardware angebunden wird.
Als nächstes ist interessant, welche Prozesse gerade laufen:
'ps -ax' listet diese.
Interessant ist auch, wie man Dateien hochladen kann, denn du willst ja 
evtl. mal was ändern. Das hängt davon ab, ob das Gerät 
Netzwerkinterfaces hat, oder evtl. nur eine serielle Konsole. Ah, ich 
lese WLAN, evtl. läuft also ein nfsserver oder was ähnliches.
/proc/devices sagt dir, was für Peripherie und welche Treiber da laufen. 
Es gibt im /proc Verzeichnis noch viele andere interessante Dinge, aber 
alle aufzulisten, führt hier sehr weit.

: Bearbeitet durch User
von Sven (Gast)


Lesenswert?

Das ganze war ein Handteil irgendeiner Industrie Maschine. Die Maschine 
selber habe ich nie gesehen.Der Hersteller deutet auf eine Anlage zum 
automatischen Punktschweißen hin.
Es Bootet aus einem Flash vermutlich 32mb die Platine ist Professionell 
gefertigt mit Herstellerlogo der Firma. Also bestimmt von denen Speziell 
dafür gemacht.

von Pete K. (pete77)


Lesenswert?

Du kannst als root mal ein "dmesg" nach dem booten ausführen und hier 
als Dateianhang reinstellen. Dann sollte man etwas klarer sehen.

von Sven (Gast)


Lesenswert?

Pete K. schrieb:
> Du kannst als root mal ein "dmesg" nach dem booten ausführen und hier
> als Dateianhang reinstellen. Dann sollte man etwas klarer sehen.

dmesg gibt viele Informationen Leider kann ich irgendwie aus Putty nicht 
Kopieren. Ich werde morgen mal ein anderes Terminal Programm versuchen

Zum Aktuellen zustand.
Ich kann das Programm der Maschine Stoppen. es ist unter init.d 
gelistet.
Das Display kann ich unter dev/fb0 ansprechen. habe mit cp den fb0 
kopiert und kann nun Abbilder der Original Software wieder darstellen. 
Ich denke die Io/s habe ich auch gefunden kann sie aber gerade mangels 
Stecker noch nicht testen.

Nun wollte ich eine Bilddatei welche hoffentlich dank fbi in den 
Framebuffer passt in das gerät laden. Nur Wie? Ich bin gerade nur über 
ssh verbunden.
Es gibt kein wget.

Was gibt es also für Möglichkeiten Dateien auszutauschen?

von Matthias S. (Firma: matzetronics) (mschoeldgen)


Lesenswert?

Sven schrieb:
> Was gibt es also für Möglichkeiten Dateien auszutauschen?

Das weist du dann, wenn du dir mal die Verzeichnisse /bin, /sbin, 
/usr/bin und /usr/sbin angeschaut hast, da sollten alle ausführbaren 
Programme drin sein.
NFS z.B. könnte sein (musst du Server für anbieten und dann mit mount), 
aber auch ein smbclient oder sowas.

von Dergute W. (derguteweka)


Lesenswert?

Sven schrieb:

> Was gibt es also für Möglichkeiten Dateien auszutauschen?

scp

Bevor zu grosser Schabernack betrieben wird, kanns auch nicht schaden, 
mal zu gucken, was fuer ein rootfs verwendet wird (welches Filesystem), 
ob man da was kaputt machen kann, und wenn ja, wie man das Dingens 
notfalls wieder hinkriegt. D.h. (wo) gibts da eine debug-Konsole, also 
ueblicherweise irgendwas serielles, wo Bootmeldungen des Kernels und 
Bootloaders rausfallen.

Gruss
WK

von Pete K. (pete77)


Lesenswert?

FileZilla macht auch Spaß bei Dateiübertragungen.

: Bearbeitet durch User
von Bernd K. (prof7bit)


Lesenswert?

Sven schrieb:
> Ich kann das Programm der Maschine Stoppen. es ist unter init.d
> gelistet.

Dann wird auch ein symlink dazu in einem der runlevel stehen, such nach 
Ordnern wie /etc/rc1.d /etc/rc2.d /etc/rc3.d /etc/rc4.d /etc/rc5.d usw., 
dort drin sind Symlinks (die auf init.d scripte zeigen) die in dem 
jeweiligen Runlevel gestartet oder gestoppt werden sollen. Ein K im 
Namem bedeutet stoppen (K wie kill), ein S im Namen bedeutet Starten.

Finde alle Symlinks in diesen Verzeichnissen die auf das besagte init.d 
script zeigen und benenne sie so um dass aus dem S ein K wird. Dann 
startet es nicht mehr.

Hier bitte weiterlesen für eine gründlichere Erklärung: 
https://debian-administration.org/article/212/An_introduction_to_run-levels

: Bearbeitet durch User
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.