PiGFX als serielles BareMetal Terminal auf dem Raspberry Pi ist ganz nett, aber ich finde den Bitmap(?)-Font doch etwas sehr klassisch/pixelig
Zudem unterstuetzt PiGFX "nur" den seriellen Port fuers Terminal, aber mein ESP32-RunCPM-System kann neben dem seriellen Port auch
per USB angeschlossen werden - dann ist der "serielle" Port (ttyUSB0) und die Stromversorgung gleichzeitig vom Raspberry Pi unterstuetzt.
Das setzt allerdings voraus, dass man doch das laenger bootende "Raspberry Pi OS" (gibt in einer neuen Version seit dem 02.12.2020 - auch wieder als lite)
d.h. ohne graphischen Desktop.
Um dort fuer ein Terminal nicht nur die (wieder .psf-Bitmap-Fonts) von dpkg-reconfigure console-setup nutzen, kann man mit der Application
fbterm (fast Terminal for Framebuffer) in der Console auch .TTF (Truetype-Fonts) nutzen. Hier kommen besonders gut fuer den Einsatz als Terminal
die Mono-TTF-Fonts.
Hat man fbterm gestartet, so kann man mit dem Terminal (direkt im Framebuffer ohne Desktop/X) die Truetype-Fonts nutzen um z.B. ein lokal kompiliertes RunCPM zu starten (oder eine SimH-Emualtion) oder man kann per picocom/minicom dann auch sich direkt verbinden auf serielle Devices/Geraete.
Da man fuer den Framebuffer und das Modem-Device je einer eigenen Linux-Gruppe zugehoeren muss, habe ich mit den User fbterm angelegt, der ich zuordnete zu den Gruppen video (fuer den Framebuffer), dialout (fuer /dev/modem) und sudo (fuer das setzen - symbolischer Link - des /dev/modem device)
Zusaetzlich wollte ich einige sudo-Passowort-Eingaben umgehen und habe dem User fbterm in der /etc/passwd die gleiche Usernummer 0 (anstatt z.B. 1001) wie dem User root verpasst.
(OK - das waere normal ein RIESEN Sicherheitsloch, aber der Pi als Terminal sollte wie bei PiGFX ohne Netzwerk laufen)
Zur Nutzung des seriellen Ports vom Raspberry Pi habe ich die Login-Console per raspi-config -> Interface Options -> Disable shell on serial connection
abgeschaltet, so dass ich /dev/serial0 als TTL-serial-device nutzen kann.
Die Truetype-Fonts, die man nutzen moechte, muessen unter /usr/share/fonts/truetype installiert werden - in folgendem Verzeichnis-Format:
/usr/share/fonts/truetype/vio/vio12x30.ttf
/usr/share/fonts/truetype/dejavu/DejaVuSansMono.ttf
/usr/share/fonts/truetype/hack/Hack-Regular.ttf
/usr/share/fonts/truetype/quicksand/Quicksand-Regular.ttf
Fuer fbterm/mincom/picocom nutzt man zur Installation einfach apt: apt install fbterm picocom minicom
Da picocom/minicom meiner Erfahrung nicht immer so gern mit /dev/serial0 oder /dev/ttyUSB0 mitspielen wollen, setze ich vor der Nutzung einen symblischen Link auf /dev/modem per
ln -s /dev/serial0 /dev/modem
ODER
ln -s /dev/ttyUSB0 /dev/modem
Konfigurations-Einstellungen fuer fbterm kann man in der Commandline uebergeben (klappt bei mir besser) oder auch in der .fbtermrc im Homedirectory des Users (fbterm hier)
Beim Start unterstuetzt fbterm (am Ende der Commandline) die Uebergabe eines Commandos und dessen Parameter, hat aber wohl Probleme beim parsen mit einer groessen Anzahl Parameter / oder wenn die Optionen aus z.B. - / Zeichen bestehen.
So habe ich .sh-Scripte erstellt (im Anhang als .zip), die als einzige Commandline ein shell-script aufrufen (das klappt bei mir einwandfrei)
picocom ruft man auf mit picocom -b 19200 /dev/modem (bei 19200 Baud - wie mein RunCPM-Device eingestellt ist, klappt aber auch bei der Verbindung ueber ttyUSB0 - da wird dies durch USB scheinbar eh uebersetzt)
picocom beendet man durch Ctrl-A Ctrl-X
minicom ruft man auf per minicom runcpm.config wobei runcpm.config die vorher einmal gespeicherte Config innerhalb minicom ist.
minicom beendet man per Ctrl-A Z X Enter
Das ganze ist evtl. etwas viel/verwirrend - ich habe auch 1-2 Tage dran gebastelt. Aber ich beantworte gerne Fragen dazu