Irgendwie hatte mich ja heute nochmal der Ehrgeiz gepackt.
Ich wusste ja es fehlt einiges an Ressourcen an einem OpenWRT-Device, aber mein LinkIt Smart MT7688 hat 128MB Ram und einen MicroSD-Slot - da muss doch was zu machen sein....
Als erstes habe ich meinem Device das aktuelle OpenWRT 19.04.7 verpasst.
Dann brauchte ich fuer den gcc mehr internen Disk-Platz, den der MicroSD-Slot wird nicht automatisch eingebunden.
Mehr Platz bekommt man, wenn man entweder einen USB-Stick oder hier bei mir die MicroSD-Card als /overlay einbindet/mountet.
Eine Anleitung dazu gibt es auf:
https://linuxconfig.org/how-to…torage-with-an-usb-device
Anstatt sd1 bekommen man auf dem MT7688 mit der installierbaren Erweiterung
kmod-sdhci-mt7620
dann ein Device mmcblk0 und durch fdisk dann dort die Partition 1 (ext4) = mmcblk0p1
Nach Anleitung habe ich die Partition angelegt, ext4-formatiert und die alten /overlay-Daten uebernommen/kopiert und den passenden mount-Eintrag in die /etc/config/fstab eingetragen (s. passende UUID beim Partition erstellen)
Nach dem Reboot war dann genug Platz um gcc und make per opkg zu installieren
(musste wegen zu kleinem tmpfs das Paket ( gcc_7.4.0-5_mipsel_24kc.ipk ) per wget aus dem Internet holen direkt nach /overlay
und dann dort per opkg install ./gcc_7.4.0-5_mipsel_24kc.ipk installieren)
Zum Transfer des RunCPM-Sourcecode habe ich das Paket vsftpd-tls als FTP-Server installiert und den Sourcecode per FTP auf mein Home-Directory (ausgepackt) uebertragen.
Beim ersten kompilier-Versuch stellte ich fest, dass OpenWRT als Paket zwar libreadline anbietet aber kein libreadline-dev
Mir viel auf, dass readline.h nur angefordert wurde, wenn man mit LUA-Support kompilierte.... also habe ich alles zu LUA aus dem Makefile.posix entfernt.
(und spaeter umbenannt/kopiert auf Makefile.openwrt)
Nun ging der Compile ein Stueck weiter, meckerte dann aber beim "linken" die Optionen "-lncurses" und "-ldl" an
Also die auch noch entfernt und somit schon die Hoffnungen stark schwinden sehen, dass noch was brauchbares rauskommt
Aber ohne die Optionen bekam ich nur ein ausfuehrbares/kompilieretes RunCPM-File
Dieses kopierte ich nun in ein frisches RunCPM-Directory und fuellte per FTP die Verzeichnise fuer die Laufwerke aus meiner funktionstuechtigen Arduino-DUE RunCPM-Version.
(ohne diese Laufwerkverzeichnisse und die CCP-Files bekam ich vorher einen BDOS-Error - ich dachte eher an einen "missing CCP")
Mit den Files im Verzeichnis startete ich nun die downstripped-RunCPM-Version und bekam doch mehr als ich erwartete
Ich kann DIR aufrufen, Programme starten/beenden, Aus-/Eingaben klappen
Ich weiss noch garnicht, was mir bis jetzt gross verloren gegangen ist durch weglassen der beiden "LDFLAGS" fuer den Linker...
Anbei das Makefile(.openwrt) und 2 Terminal-Bilder.
Zum Vergleich der Mandelbrot-Benchmark braucht auf dem 580Mhz MIPS-Prozessor nur 13 Sekunden gegen 40 auf dem ESP32
bzw. ueber 1 Minute auf dem Arduino DUE.