project:snapcast:snapclient:lcd4linux
no way to compare when less than two revisions
Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
— | project:snapcast:snapclient:lcd4linux [2021-09-13 16:52] (aktuell) – angelegt neos | ||
---|---|---|---|
Zeile 1: | Zeile 1: | ||
+ | ====== lcd4linux ====== | ||
+ | {{tag> | ||
+ | |||
+ | ====== Statisch gelinkt bauen ====== | ||
+ | |||
+ | Da lcd4linux aktuell nicht in den Paketquellen von Alpine Linux enthalten ist und der Prozess zum Bauen eines Alpine-Paketes (siehe [[https:// | ||
+ | Voraussetzung: | ||
+ | - Paketquellen aktualisieren: | ||
+ | - Benötigte Pakete zum Bauen installieren '' | ||
+ | - Bibliotheken für lcd4linux installieren: | ||
+ | - Quellen für lcd4linux herunterladen: | ||
+ | - Ins Quellen-Verzeichnis wechseln: '' | ||
+ | - Skripte zum bauen erstellen: '' | ||
+ | - Nun folgen ein paar verkettete Befehle, einfach, damit es zügig geht:\\ < | ||
+ | CFLAGS=" | ||
+ | make -j8 CCLD=' | ||
+ | strip lcd4linux</ | ||
+ | - '' | ||
+ | - '' | ||
+ | - weist den Compiler an, statische Binaries zu bauen ('' | ||
+ | - 32bit-Code zu erzeugen ('' | ||
+ | - keine Instruktionen die ein 486er nicht auch könnte zu benutzen ('' | ||
+ | - '' | ||
+ | - statische Bibliotheken bauen ('' | ||
+ | - **keine** dynamischen Bibliotheken bauen ('' | ||
+ | - alle Treiber zu bauen außer denen, die mit '' | ||
+ | - alle Plugins bauen außer denen, die mit '' | ||
+ | - '' | ||
+ | - benutze bis zu 8 Kerne gleichzeitig beim Compilieren ('' | ||
+ | - linke alle Programm rein statisch, normalerweise sollte das '' | ||
+ | - '' | ||
+ | - Hat alles geklappt (keine Fehler), sollte ein '' | ||
+ | - Zum Vergleich: Wäre lcd4linux dynamisch gelinkt, würde die Ausgabe so oder so ähnlich aussehen:\\ < | ||
+ | libncurses.so.5 => / | ||
+ | libX11.so.6 => / | ||
+ | libgd.so.2 => / | ||
+ | ... | ||
+ | / | ||
+ | libXau.so.6 => / | ||
+ | libXdmcp.so.6 => / | ||
+ | - Nun kann man lcd4linux auf einen snapclient kopieren: '' | ||
+ | - Fertig! | ||
+ | |||
+ | ====== OpenRC-Initscript ====== | ||
+ | |||
+ | Damit lcd4linux als Service automatisch gestartet werden kann, braucht es noch ein einfaches OpenRC-Initscript: | ||
+ | < | ||
+ | # | ||
+ | |||
+ | CONFIG=/ | ||
+ | PID=/ | ||
+ | |||
+ | depend() { | ||
+ | after lm_sensors modules hwdrivers networking | ||
+ | } | ||
+ | |||
+ | checkconfig() { | ||
+ | if [ ! -f ${CONFIG} ]; then | ||
+ | eerror " | ||
+ | return 1 | ||
+ | fi | ||
+ | } | ||
+ | |||
+ | start() { | ||
+ | checkconfig || return 1 | ||
+ | |||
+ | ebegin " | ||
+ | start-stop-daemon --start --quiet --background --pidfile ${PID} \ | ||
+ | --exec / | ||
+ | eend ${?} | ||
+ | } | ||
+ | |||
+ | stop() { | ||
+ | ebegin " | ||
+ | start-stop-daemon --stop --pidfile ${PID} | ||
+ | eend ${?} | ||
+ | } | ||
+ | EOF</ | ||
+ | Nun einfach mit '' | ||
+ | |||
+ | ====== 20x4-Zeichen-Display am Parallelport ====== | ||
+ | |||
+ | Einige Snapclients haben ein 20x4 Zeichen umfassendes, | ||
+ | < | ||
+ | Driver ' | ||
+ | Model ' | ||
+ | Port '/ | ||
+ | Size ' | ||
+ | Icons ' | ||
+ | Wire { | ||
+ | RW ' | ||
+ | RS ' | ||
+ | ENABLE | ||
+ | ENABLE2 ' | ||
+ | GPO ' | ||
+ | } | ||
+ | }</ | ||
project/snapcast/snapclient/lcd4linux.txt · Zuletzt geändert: 2021-09-13 16:52 von neos