Forum: Mikrocontroller und Digitale Elektronik Eine BAT im Raspi starten bzw startfähig machen.


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
von peter bierbach (Gast)


Lesenswert?

Hallo, guten Tag.

Ich habe jetzt auf meinem Raspi400 ein Programm in einer Bat.
Nun weiß ich nicht, wie ein BAT zum laufen gebracht wird.

Die Bat:
CSpect.exe -sound -w2 -zxnext -mmc=.\ NXtel.nex

Dieses CSpect.exe kann ich alleine starten wenn ich einen Klick drauf 
mache.

Wenn ich auf die Bat klicke erscheint im Texteditor , was in der BAT 
steht.
Startet aber nicht.

Danke.

von Jens M. (schuchkleisser)


Lesenswert?

Bat und Exe sind Windows- bzw. DOS-Dateien, die laufen nicht unter 
RPi/Linux.
Selbst auf dem Windows10 das man da draufmachen kann, da die Exe 
ziemlich sicher x86-Code hat, der RPi jedoch einen ARM-Prozessor.
Oder ist da etwa ein Emulator an bord?

Eventuell kann man WinE auf einem RPi laufen lassen. Das könnte u.U. mit 
der Exe klarkommen.
Wird aber schnarchlahm sein würde ich sagen.

von peter bierbach (Gast)


Lesenswert?

Hier habe ich das ImG her für den PI400.
Es funktioniert soweit:
"CSpect.exe" anklicken und startet auf dem PI400.

https://forum.tlienhard.com/phpBB3/viewtopic.php?f=6&t=3735


Jetzt möchte ich dieses Startfähig machen:
CSpect.exe -sound -w2 -zxnext -mmc=.\ NXtel.nex

Wie kann man diesesen Startjetzt für den Raspi umsetzen?

Danke.

von Jens M. (schuchkleisser)


Lesenswert?

peter bierbach schrieb:
> Hier habe ich das ImG her für den PI400.

Da gibts ein Img, und eine Exe.
Nichts davon heißt cspect.exe.
Das nicht-Img hat "windows" im Namen.

Du bist am falschen Computer. Ob der emulierte ZX Spectrum EXE ausführen 
kann weiß ich nicht, denke aber "nein".

Eine Googlesuche nach "cspect" führt mich auf eine andere Seite, auf der 
es ein Malwareverseuchtes zip gibt (meint Firefox).
Eine alte Version lässt sich runterladen, ist aber voller bat, dll und 
exe-Dateien, was alles auf Windows hindeutet.
In der Readme steht
***
Windows - You will need the latest .NET, and openAL ( 
https://www.openal.org/downloads/ )
Linux   - You will need the full MONO  (on ubuntu do "apt-get install 
mono-devel" )
***
Ob mono auf RPi läuft, ob es in dem Image vorinstalliert ist, und was es 
ist kann ich dir nicht sagen.

von Luca E. (derlucae98)


Lesenswert?

Das Pendant zur Batchdatei auf Linux ist ein Shellscript. Wahrscheinlich 
reicht es sogar schon, wenn du sie in *.sh umbenennst und mit chmod 
ausführbar machst.

von peter bierbach (Gast)


Lesenswert?

Danke der Vorschlag mit dem Shellscript fuktioniert.

von Jens M. (schuchkleisser)


Lesenswert?

Und dann startet eine EXE auf einem RPi? lol

von Christian H. (netzwanze) Benutzerseite


Lesenswert?

Linux schert sich nicht um BAT oder EXE. Du kannst Die Datei auch 
"Du.Blöder.Troll.Du" nennen. Es reicht aus, das Exe-Bit zu setzen. In 
einem Skript muss aber über einen Hashbang der Interpreter angegeben 
werden.

Viele Klicki-Bunt-Oberflächen nehmen einem das aber ab. Einige gehen 
dann tatsächlich nach den Dateierweiterungen, oder ermitteln mittels 
Magic selber, welcher Interpreter verwendet werden kann.

von Alopecosa (Gast)


Lesenswert?

Christian H. schrieb:
> Linux schert sich nicht um BAT oder EXE. Du kannst Die Datei auch
> "Du.Blöder.Troll.Du" nennen. Es reicht aus, das Exe-Bit zu setzen. In
> einem Skript muss aber über einen Hashbang der Interpreter angegeben
> werden.

Also ich kenn das Ding als Shebang ;)

Alle restlichen Antworten zeigen das, auch fachliche, Niveau dieses 
Forum.

Man fragt nach einer Zucchini und wird ausgelacht das eine Zucchini ja 
keine Banane sei und bekommt den Tipp sich doch eine Aubergine zu 
besorgen.

Kein Kommentar.

von (prx) A. K. (prx)


Lesenswert?

Alopecosa schrieb:
> Also ich kenn das Ding als Shebang ;)

Gibt beides. https://de.wikipedia.org/wiki/Shebang

von (prx) A. K. (prx)


Lesenswert?

Alopecosa schrieb:
> Alle restlichen Antworten zeigen das, auch fachliche, Niveau dieses
> Forum.

Wieviel Fachliches hast Du denn beigetragen?

: Bearbeitet durch User
von oerks (Gast)


Lesenswert?

Fuer eine GUI wird man statt eines shellscripts einen Launcher brauchen.
Das wie und wo haengt nun von der GUI ab.

Schoen auch, dass das rhetorische Geplaenkel schon angefangen hat.
Wenn man das #! weglaesst, gewinnt die definierte Standardshell.
Einen Launcher ersetzt das natuerlich nicht.

Unter MS nennt man sowas .LNK. So unnuetze Erweiterungen brauch
man bei Unixen natuerlich nicht.

von c-hater (Gast)


Lesenswert?

Christian H. schrieb:

> Linux schert sich nicht um BAT oder EXE.

Kann man Linux beibringen. Beides. Wenn auch auf unterschiedliche Art.

> "Du.Blöder.Troll.Du" nennen. Es reicht aus, das Exe-Bit zu setzen. In
> einem Skript muss aber über einen Hashbang der Interpreter angegeben
> werden.

Jepp, das wäre die Sache für Scripte.

Aber man kann tatsächlich auch *.exe direkt ausführbar machen. OK, die 
Namenswerweiterung alleine reicht dazu natürlich nicht, das x-Flag muss 
für die Datei schon gesetzt sein. Aber das kann dann wirklich genügen, 
um diese Exe wirklich auszuführen. Muss natürlich eine passende Exe 
sein, nämlich eine, die auf .net (respective mono) basiert. Und 
natürlich muss dazu das ganze Mono-Zeugs auch installiert sein. Das 
enthält dann auch den Loader, der Linux das Exe(PE)-Format beibiegt, um 
den Kram und seine Dependencies in den Speicher zu hieven und dann 
auszuführen.

Das funktioniert inwischen erstaunlich gut. Auch auf dem RasPi.

von Jens M. (schuchkleisser)


Lesenswert?

c-hater schrieb:
> Das
> enthält dann auch den Loader, der Linux das Exe(PE)-Format beibiegt, um
> den Kram und seine Dependencies in den Speicher zu hieven und dann
> auszuführen.

Oh kuckmal, das ist interessant, danke.

von Christian H. (netzwanze) Benutzerseite


Lesenswert?

c-hater schrieb:
> Das funktioniert inwischen erstaunlich gut. Auch auf dem RasPi.

Habe ich noch nie ausprobiert aber auch nie gebraucht - trotzdem 
interessant.

von Sheeva P. (sheevaplug)


Lesenswert?

Jens M. schrieb:
> Da gibts ein Img, und eine Exe.
> Nichts davon heißt cspect.exe.

Es hat sich leider noch nicht herumgesprochen, aber tatsächlich dürfen 
Dateien auch unter Linux die Endung .exe haben. Es gibt sogar Programme, 
die das immer machen, mir kommt dabei ein Serialisierer für 
Python-Programme in den Sinn, dessen Namen ich leider vergessen habe -- 
py2exe vielleicht? Allerdings interessiert sich Linux herzlich wenig 
dafür, welche Dateinamenerweiterung eine Datei hat: zum Ausführen 
braucht sie gesetzte Ausführrechte.

von Sheeva P. (sheevaplug)


Lesenswert?

oerks schrieb:
> Fuer eine GUI wird man statt eines shellscripts einen Launcher brauchen.
> Das wie und wo haengt nun von der GUI ab.
>
> Schoen auch, dass das rhetorische Geplaenkel schon angefangen hat.
> Wenn man das #! weglaesst, gewinnt die definierte Standardshell.

Äh... nicht unbedingt. ELF-Binaries zum Beispiel haben keine 
Shebang-Zeile, und trotzdem weiß der Kernel, wie sie auszuführen sind. 
Und dann gibt es da noch so ein eher unbekanntes Feature des 
Linux-Kernels namens binfmt_misc...

von Ingo D. (ingo2011)


Lesenswert?

Hi Peter,

die .bat sollst Du unter Linux ja auch nicht starten.
Packe in Deinem Launcher die Zeile
mono CSpect.exe -tv -w3 -zxnext dogday.nex
oder erstelle Dir ein Shell-Script z.B. startCSpect.sh mit folgendem
Inhalt:

#!/bin/bash
mono CSpect.exe -tv -w3 -zxnext dogday.nex

und mache das Script ausführbar.
chmod +x startCSpect.sh
dann solltes gehen. Das Ganze funktioniert halt nur wenn auch die 
Mono-Umgebung vorhanden ist.
https://retrobits.altervista.org/blog/dogday-cspect-quickstart/

Gruß Ingo


Linux: you will need the latest Mono cross platform open source .NET 
framework.
If you are using Debian, you can install it with: sudo apt install 
mono-complete
Please refer to your distro package manager for details.

Instead, if you are using Linux or macOS, type:
mono CSpect.exe -tv -w3 -zxnext dogday.nex

von Jens M. (schuchkleisser)


Lesenswert?

Sheeva P. schrieb:
> zum Ausführen
> braucht sie gesetzte Ausführrechte.

Jaja, ich weiß, Linux ist toll und so.
>hurr wir scheißen auf die Dateierweiterung
>durr Windows ist so doof, drei Buchstaben müssen ihm sagen ob das ein Programm 
ist

Ändert nix dran, das das hinterlegte Programm, egal ob per X-Bit oder 
.EXE-Erweiterung, auf der Maschine lauffähig sein muss.
Du kannst eine Word-Datei (bewusst nicht .DOC) auch mit X-Bit versehen, 
deswegen wird da kein Texteditor draus wenn du das auf dem RPi "laufen 
lässt".
Und du weißt das auch ganz genau was ich da oben gemeint habe, danke.

Sheeva P. schrieb:
> ELF-Binaries zum Beispiel haben keine
> Shebang-Zeile, und trotzdem weiß der Kernel, wie sie auszuführen sind.

Laufen x86-Binaries auf einem ARM? Mit X-Bit, .EXE-Endung und allem?
Also Excel.exe, Explorer.exe & Outlook.exe auf den RPI kopieren, X-Bit 
setzen und ich kann meine gewohnte Umgebung auf einem 40€-Computer mit 
freiem OS nutzen?
Das wäre ja die Revolution. Hammer. Die Eliten unterdrücken dieses 
Wissen!

von Christian H. (netzwanze) Benutzerseite


Lesenswert?

Jens M. schrieb:
> Das wäre ja die Revolution. Hammer. Die Eliten unterdrücken dieses
> Wissen!

Du liest nur die Hälfte. Es geht hier augenscheinlich um eine 
.NET-Datei, die mittels Mono ausgeführt wird. Also nicht direkt, wie es 
der TO dachte.

von Jens M. (schuchkleisser)


Lesenswert?

Christian H. schrieb:
> Du liest nur die Hälfte.

Nee, das hab ich schon verstanden.
Er reitet aber drauf rum, das die Dateiendung unter Linux nicht 
entscheidet, sondern das Bit.
Diese eine spezielle Exe ist ein .NET-gewurschtel, das mit dem 
Mono-Player auch auf Linuxen läuft.
Das hat aber weder mit der Endung noch dem Bit zu tun, sondern rein 
damit das der Programmierer ein Format gewählt hat bei dem das geht weil 
es den Player auch für Linux gibt.

: Bearbeitet durch User
von wendelsberg (Gast)


Lesenswert?

Alopecosa schrieb:
> Man fragt nach einer Zucchini und wird ausgelacht das eine Zucchini ja
> keine Banane sei und bekommt den Tipp sich doch eine Aubergine zu
> besorgen.
>
> Kein Kommentar.

Das mag ab und zu der Fall sein, aber hier nicht.
Schon die Frage lautete sinngemaess:
Ich habe hier eine Banane, wie kann ich damit Zuccinisuppe kochen?

Doch Kommentar.

wendelsberg

von Dergute W. (derguteweka)


Lesenswert?

Moin,

Jens M. schrieb:
> Laufen x86-Binaries auf einem ARM? Mit X-Bit, .EXE-Endung und allem?
> Also Excel.exe, Explorer.exe & Outlook.exe auf den RPI kopieren, X-Bit
> setzen und ich kann meine gewohnte Umgebung auf einem 40€-Computer mit
> freiem OS nutzen?
> Das wäre ja die Revolution. Hammer. Die Eliten unterdrücken dieses
> Wissen!

Oder das Prekariat ignoriert dieses Wissen.
Denn tatsaechlich wuerde ich mal nicht ausschliessen, aus dem oben schon 
genannten binfmt_misc Feature des Kernels, qemu und wine evtl. 
tatsaechlich sowas zusammenspaxen zu koennen.
Ob man dann mit so einer Kruecke auch arbeiten will ist noch eine 
andere Frage. Hier jedoch, da es ja augenscheinlich um mono als 
Interpreter geht,  eh' kein Thema.

Gruss
WK

von Jens M. (schuchkleisser)


Lesenswert?

Dergute W. schrieb:
> qemu und wine

Ja, das wäre lustig.
Ein Program, das auf einem 3GHz Quadcore mit 16GB RAM schon lahmt, mit 
einem Prozessoremulator auf einem RPi laufen lassen.

"Es leeeebt, schwerst behindert, aber immerhin." :D

War da nichtmal was, das einer einen Windows95-Emulator auf einem ATMega 
hat laufen lassen oder so?
Vom Einschalten bis zum Bootloader 45 Minuten, zum Desktop 30 Stunden, 
bis sich die Maus bewegt nochmal jeweils 15 Minuten nach einem Schubser, 
aber immerhin.

von Sheeva P. (sheevaplug)


Lesenswert?

Jens M. schrieb:
> Sheeva P. schrieb:
>> zum Ausführen
>> braucht sie gesetzte Ausführrechte.
>
> Jaja, ich weiß, Linux ist toll und so.

Ja, mein Hase, tatsächlich ist es das. Auch wenn es sich Dir offenbar 
nicht erschließt... ;-)

>>hurr wir scheißen auf die Dateierweiterung
>>durr Windows ist so doof, drei Buchstaben müssen ihm sagen ob das ein Programm
> ist

Könntest Du es bitte unterlassen, mir gefälschte Zitate in den Mund zu 
legen? Allerbesten Dank.

> Ändert nix dran, das das hinterlegte Programm, egal ob per X-Bit oder
> .EXE-Erweiterung, auf der Maschine lauffähig sein muss.

Äh, nein. Weißt Du, es gibt sogenannte Emulatoren und sogar so etwas wie 
diese "Virtuellen Maschinen", vielleicht hast Du schon einmal etwas 
davon gehört.

> Du kannst eine Word-Datei (bewusst nicht .DOC) auch mit X-Bit versehen,
> deswegen wird da kein Texteditor draus wenn du das auf dem RPi "laufen
> lässt".

Tut mir wirklich leid, aber Du liegst schon wieder falsch. 
Selbstverständlich kann ich mir mit dem Kernelmodul binfmt_misc eine 
entsprechende Möglichkeit konfigurieren, wie solche Dateien 
"auszuführen" sind: in einer dieser bereits erwähnten "Virtuellen 
Maschinen" unter einem gänzlich anderen Betriebssystem, oder vielleicht 
in einem passenden Emulator, oder...

> Und du weißt das auch ganz genau was ich da oben gemeint habe, danke.

Da weißt Du mehr über mein Wissen, als ich das weiß. Vielleicht solltest 
Du mal versuchen, Dich etwas mehr konstruktiv und etwas weniger 
spekulativ und aggressiv einzubringen versuchen, dann erschließen sich 
Dir zweifellos ungeahnte, dennoch aber großartige Welten. ;-)

> Sheeva P. schrieb:
>> ELF-Binaries zum Beispiel haben keine
>> Shebang-Zeile, und trotzdem weiß der Kernel, wie sie auszuführen sind.
>
> Laufen x86-Binaries auf einem ARM? Mit X-Bit, .EXE-Endung und allem?
> Also Excel.exe, Explorer.exe & Outlook.exe auf den RPI kopieren, X-Bit
> setzen und ich kann meine gewohnte Umgebung auf einem 40€-Computer mit
> freiem OS nutzen?

Wie gesagt: wenn ich das will, ja. Es ist halt im Zweifelsfalle 
schrecklich langsam, aber es geht.

> Das wäre ja die Revolution. Hammer. Die Eliten unterdrücken dieses
> Wissen!

Zu den lustigsten Aspekten am unterdrückten Elitenwissen gehört es nach 
meiner ganz persönlichen Erfahrung, daß es üblicherweise frei verfügbar 
ist und jene, welche über die Unterdrückung herumheulen, nur zu faul, zu 
ignorant oder gerne auch einfach zu dumm sind, es zu lesen und zu 
verstehen. YMMV.

von Sheeva P. (sheevaplug)


Lesenswert?

Jens M. schrieb:
> Christian H. schrieb:
>> Du liest nur die Hälfte.
>
> Nee, das hab ich schon verstanden.

Wenn Du meinst...

> Er reitet aber drauf rum, das die Dateiendung unter Linux nicht
> entscheidet, sondern das Bit.

Aber nein, mein Hase, ich reite auf gar nichts herum. Das war rein 
informativ gemeint, da der TO es anscheinend (noch) nicht wußte -- und 
viele andere hier womöglich auch nicht, Dich anscheinend eingeschlossen.

von Sheeva P. (sheevaplug)


Lesenswert?

wendelsberg schrieb:
> Das mag ab und zu der Fall sein, aber hier nicht.
> Schon die Frage lautete sinngemaess:
> Ich habe hier eine Banane, wie kann ich damit Zuccinisuppe kochen?

Verdammt, jetzt muß ich mich auch noch als Hobbykoch outen... ;-)

Also, so eine Zucchini hat einen recht hohen Wasseranteil. Wenn man 
daraus ohne spezielle Bindemittel eine cremige Suppe kochen möchte, 
könnte man zur Bindung stattdessen einfach Kochbananen benutzen.

von Stefan ⛄ F. (stefanus)


Lesenswert?

Sheeva P. schrieb:
> Weißt Du, es gibt sogenannte Emulatoren und sogar so etwas wie
> diese "Virtuellen Maschinen"

Ja, aber nicht auf dem Raspberry Pi. Da schläft man ein, bevor das 
Ergebnis fertig ist.

: Bearbeitet durch User
von Sheeva P. (sheevaplug)


Lesenswert?

Stefan ⛄ F. schrieb:
> Sheeva P. schrieb:
>> Weißt Du, es gibt sogenannte Emulatoren und sogar so etwas wie
>> diese "Virtuellen Maschinen"
>
> Ja, aber nicht auf dem Raspberry Pi. Da schläft man ein, bevor das
> Ergebnis fertig ist.

Lieber Stefan, wie Deinem stets aufmerksamen und fast immer sehr klugen 
Auge nicht entgangen sein dürfte, hatte ich auf diesen Aspekt bereits 
hingewiesen. Dabei ging es aber gar nicht um die Performanz, sondern es 
wurde stattdessen bestritten, daß es überhaupt geht -- und diese Aussage 
ist nun einmal, so leid es mir tut, leider unzutreffend, inkorrekt, 
unrichtig, falsch, oder wie Du es nennen magst.

Hinsichtlich der Performanz bin ich im Übrigen eine Art "gebranntes 
Kind". Dies insofern als ich es als professioneller Systemadministrator 
und -Entwickler nun einmal gewöhnt bin, solche Begriffe in Metriken, 
genauer: in SLAs, sogenannten "Service Level Agreements" zu denken. "So 
schnell wie nur irgend möglich" oder "sowas ist viel zu langsam" sind 
für mich keine Aussagen, mit denen ich arbeiten kann -- oder will. 
Wobei... okay, das würde ich schon gern wollen, immerhin kann mich auf 
so ein Wischiwaschi keiner festnageln. ;-)

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.