Benutzer-Werkzeuge

Webseiten-Werkzeuge


infrastruktur:lounge:tuerschild

tuerschild

Projekt tuerschild


Auf einem Thin Client soll ein Linux übers Netzwerk starten und einen Pixelflut-Server nach dem Booten im Vollbild starten. Der Thin Client bespielt den Bilderrahmen-Monitor, der über der shack-Haupttür hängt. Als Basis dient Ubuntu 16.04 LTS Auf pxeboot.shack:

cd /srv/nfs
debootstrap --arch=i386 xenial tuerschild2 http://de.archive.ubuntu.com/ubuntu/ 
chroot tuerschild2 /bin/bash
apt update
apt install nano linux-image-generic
passwd
echo tuerschild2 > /etc/hostname

Die /etc/fstab anlegen:

/dev/nfs        /               nfs     tcp,nolock      0       0
tmpfs           /tmp            tmpfs   defaults        0       0
tmpfs           /var/cache      tmpfs   defaults        0       0
tmpfs           /var/log        tmpfs   defaults        0       0
tmpfs           /var/tmp        tmpfs   defaults        0       0

DNS einrichten in /etc/resolv.conf:

nameserver 10.42.0.100
nameserver 10.42.0.200

Um den Nutzer automatisch anzumelden, folgende Einstellung vornehmen in /etc/lxdm/lxdm.conf:

autologin=shack
timeout=30
session=/usr/bin/startlxde

Nach der Anleitung unter https://github.com/defnull/pixelflut folgendes installieren:

apt-get install build-essential libevent-dev libglew-dev libglfw3-dev unclutter openssh-server
su shack
cd ~
git clone https://github.com/defnull/pixelflut pixelflut

Nun muss im Quellcode von pixelnuke noch ein Detail geändert werden, damit es im Vollbildmodus startet: In canvas.c wird aus
Zeile 122 if (canvas_display >= 0) {
wird
Zeile 122 if (canvas_display < 0) {
Nun einfach mit make bauen.

Damit das ganze auch automatisch startet folgende Datei anlegen in ~/.config/autostart/pixelflut.desktop:

[Desktop Entry]

Type=Application

Exec=bash -c 'unclutter -idle 1 -root & /home/shack/pixelflut/pixelnuke/pixelnuke

unclutter sorgt dafür dass der Mauscursor verschwindet.

Folgende Datei ist unter /srv/tftp/pxelinux.cfg/01-00-e0-c5-5c-3d-be (MAC-Adresse des Thin Client) anzulegen, damit dieser direkt als tuerschild startet:

# host: tuerschild
#

DEFAULT boot/tuerschild2/vmlinuz
append initrd=boot/tuerschild2/initrd.img root=/dev/nfs ip=dhcp nfsroot=10.42.2.14:/srv/nfs/tuerschild2 vga=792 ro

Aus Bequemlichkeit wird noch ein Link angelegt: ln -sv /srv/tftp/pxelinux.cfg/01-00-e0-c5-5c-3d-be /srv/tftp/pxelinux.cfg/tuerschild.cfg

Als letztes sollte man noch im gebooteten tuerschild den Bildschirmschoner deaktivieren, damit man möglichst lange Freunde daran hat.

Fertig, der Server läuft auf Port 1337!


Alte Version

Einrichtung: 1. Als Grundlage dient ein Debian Buster. Dieses wird mit debootstrap auf pxeboot.shack aufgesetzt:

cd /srv/nfs
mkdir -pv tuerschild
debootstrap --arch=i386 buster tuerschild http://ftp.de.debian.org/debian/
cd tuerschild
mount -o bind /dev dev
mount -o bind /proc proc
mount -o bind /sys sys
chroot . /bin/bash
passwd
adduser shack
passwd shack
usermod -aG audio,video shack
echo tuerschild > /etc/hostname
apt update
apt install nano cmatrix build-essential git automake locales console-setup linux-image-686 openssh-server cifs-utils nfs-common bash-completion
localedef -i de_DE -c UTF-8 de_DE.UTF-8
systemctl disable apparmor

2. Als nächstes wird der Pixelflut-Server gebaut:

git clone https://github.com/entropia/entropieanzeige
cd entropiaanzeige
make
cp pixelflut /usr/local/bin/

3. Nun wird noch dafür gesorgt, dass auf tty1 pixelflut statt agetty läuft:

cd /etc/systemd/system
mkdir -pv "getty@tty1.service.d"
cd "getty@tty1.service.g"

Dort muss eine Datei namens override.conf angelegt werden:

[Service]
ExecStart=
ExecStart=-/usr/local/bin/pixelflut 1234
StandardInput=tty
StandardOutput=tty

4. Nun kann man das chroot wieder verlassen, es muss noch der Eintrag für pxelinux angelegt werden. Folgende Datei ist unter /srv/tftp/pxelinux.cfg/01-00-e0-c5-5c-3d-be (MAC-Adresse des Thin Client) anzulegen, damit dieser direkt als tuerschild startet:

# host: tuerschild
#

DEFAULT boot/tuerschild/vmlinuz
append initrd=boot/tuerschild/initrd.img root=/dev/nfs ip=dhcp nfsroot=10.42.2.14:/srv/nfs/tuerschild vga=792 ro

Aus Bequemlichkeit wird noch ein Link angelegt: ln -sv /srv/tftp/pxelinux.cfg/01-00-e0-c5-5c-3d-be /srv/tftp/pxelinux.cfg/tuerschild.cfg
vga=792 laut PenDriveLinux für 1024×768 als Bildschirmauflösung mit 24bit Farbtiefe, wie für Pixelflut benötigt.


Fertig! Nun läuft der Pixelflut-Server auf Port 1234.

infrastruktur/lounge/tuerschild.txt · Zuletzt geändert: 2020-07-25 18:41 von neos