PressePi Image

Aus piCastle
Zur Navigation springen Zur Suche springen

Allgemein

Hier wird erklärt, wie die das Betriebssystem-Image für einen PressePi erstellt wird.

Kopieren des Grundimages

Als Grundimage wird "Raspbian Stretch Lite" vom 2018-06-27 verwendet. Ist die Datei /var/nfs/iso-images/2018-06-27-raspbian-stretch-lite.zip nicht vorhanden wird diese von http://www.raspberrypi.org heruntergeladen. Anschließend wird die Datei entpackt:

unzip 2018-06-27-raspbian-stretch-lite.zip

Nun wird das entpackte Image auf eine SD-Karte kopiert:

dd if=/var/nfs/iso-images/2018-06-27-raspbian-stretch-lite.img of=/dev/sdb bs=1M

Vor dem Booten

Nach dem Kopieren das Laufwerk mit eject /dev/sdb auswerfen, den Cardreader abziehen und neu einstecken. Unter Ubuntu werden die Partitionen auf der SD-Karte automatisch gemountet.

Die Datei /cmdline.txt auf der Boot-Partition editieren und dort die Zeichenketten init=/usr/lib/raspi-config/init_resize.sh und console=serial0,115200 entfernen. Dies sorgt zum einen dafür das die Root-Partition beim ersten Booten des Pis nicht auf die maximale Größe der SD-Karte erweitert wird, sondern klein bleibt. Zum Anderen wird die Ausgabe der Kernel-Nachrichten auf die serielle Konsole unterdrückt.

Die Datei /config.txt auf der Boot-Partition editieren und dort am Ende folgende Zeile hinzufügen:

enable_uart=0

Dies sorgt dafür, das die serielle Konsole an den GPIOs 14 und 15 deaktiviert wird diese für andere Dinge verwendet werden können.

Das Keybord-Layout wird auf deutsch umgestellt, indem die Datei /etc/default/keyboard auf der Root-Partition wie folgt editiert wird:

XKBLAYOUT="de"

Die Dateien /etc/hostname und /etc/hosts auf der Root-Partition anpassen und dort die Zeichenkette raspberrypi durch pressepixx ersetzen.

Datei /etc/ssh/sshd_config auf der Root-Partition editieren und die folgende Zeile anpassen:

PermitRootLogin yes

Danach den SSH-Dienst aktivieren:

ln -s /lib/systemd/system/ssh.service <root>/etc/systemd/system/multi-user.target.wants/ssh.service

Pi Booten

Das Laufwerk mit eject /dev/sdb auswerfen. Die SD-Karte in einen Pi stecken und diesen mit Bildschirm und Tastatur und Netzwerk booten. Einloggen mit Benutzer pi und Passwort raspberry.

Die Passwörter der Benutzer pi und root mit den Befehlen passwd bzw. sudo passwd ändern.

Die bereits installierten Pakete aktualisieren:

 sudo apt update
 sudo apt dist-upgrade

Noch fehlende Pakete installieren:

 sudo apt install wiringpi tmux pigpio git python3-pip

Pipenv unter /root/.local installieren

 sudo pip3 install --user pipenv

Path anpassen

 sudo nano /root/.bashrc
 export PATH="/root/.local/bin:$PATH"

SSH-Key vom server aus kopieren:

 ssh-copy-id pi@<raspberrypi ip>
 ssh-copy-id root@<raspberrypi ip>


Und den Pi herunterfahren

poweroff

Image erstellen

SD Karte entfernen und mit Cardreader an PC anschließen. Terminal starten und folgende Befehle als root Benutzer ausführen

umount /dev/sdb1
umount /dev/sdb2
dd if=/dev/sdb of=2018-06-27-pressepi-base.img bs=1M count=2000
scp 2018-06-27-pressepi-base.img root@server02:/var/nfs/iso-images

Damit ist nun unter /var/nfs/iso-images/2018-06-27-pressepi-base.img das Basis-Image für den PressePi vorhanden. Produktivsysteme werden durch das push-Skript konfiguriert.

Test-Image erstellen

TODO