LightPi Images: Unterschied zwischen den Versionen

Aus piCastle
Zur Navigation springen Zur Suche springen
Keine Bearbeitungszusammenfassung
Keine Bearbeitungszusammenfassung
 
Zeile 1: Zeile 1:
= Allgemein =
= Allgemein =
Hier wird erklärt, wie die das Betriebssystem-Image für einen [[LightPi]]
erstellt wird.


Hier wird erklärt, wie die Images der verschiedenen Betriebssystemversionen für einen [[LightPi]] erstellt werden.
= Kopieren des Grundimages =
Als Grundimage wird "Raspbian Stretch Lite" vom 2018-11-13 verwendet. Ist die
Datei <code>/var/nfs/iso-images/raspbian/2018-11-13-raspbian-stretch-lite.zip</code>
nicht vorhanden wird diese von http://www.raspberrypi.org heruntergeladen.
Anschließend wird die Datei entpackt:
unzip 2018-11-13-raspbian-stretch-lite.zip


Dies wird gemacht, damit die Installation nicht immer wiederholt werden muss, und die System einheitlich sind.
Nun wird das entpackte Image auf eine SD-Karte kopiert:
dd bs=1M if=/var/nfs/iso-images/raspbian/2018-11-13-raspbian-stretch-lite.img of=/dev/sdb


= Erstellen des Grundimages =
= Vor dem Booten =
Grundimage, welches verwendet wird ist aktuell "RASPBIAN STRETCH LITE" von 2017-09-07
Nach dem Kopieren das Laufwerk mit <code>eject /dev/sdb</code> auswerfen, den
Downloaden nach /var/nfs/iso-images, wenn dort nicht vorhanden
Cardreader abziehen und neu einstecken. Unter Ubuntu werden die Partitionen auf
unzip 2017-09-07-raspbian-stretch-lite.zip
der SD-Karte automatisch gemountet.


Image auf eine SD Karte kopieren
Die Datei <code>/cmdline.txt</code> auf der Boot-Partition editieren und dort
die Zeichenkette <code>init=/usr/lib/raspi-config/init_resize.sh</code> löschen.
Dies sorgt 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.


dd if=/var/nfs/iso-images/2017-09-07-raspbian-stretch-lite.img of=/dev/sdb bs=1M
Die Datei <code>/config.txt</code> auf der Boot-Partition editieren und dort die
 
Zeile <code>dtparam=i2c_arm=on</code> einkommentieren. Nun kann I²C auf dem Pi
Nach dem Kopieren Laufwerk auswerfen, Cardreader abziehen und neu einstecken in USB Anschluss
verwendet werden.
 
Die Partitionen von dem Image auf dem lokalen PC mounten. Passiert bei Ubuntu automatisch.
 
Die Datei cmdline.txt im Hauptpfad auf der Bootpartition editieren und dort den Eintrag init=/usr/lib/raspi-config/init_resize.sh und console=serial0,115200 entfernen.
 
Dies sorgt dafür das die Root-Partition beim booten auf dem Raspberry Pi nicht auf die maximale Größe der SD-Karte erweitert wird, sondern klein bleibt.
 
Die Datei config.txt im Hauptpfad auf der Bootpartition editieren und eine Zeile am Ende hinzufügen
 
enable_uart=0
 
Das sorgt dafür, das die serielle Konsole deaktiviert wird und die beiden GPIOs für den LightPi genutzt werden können
 
Die Datei /etc/default/keyboard auf der Root-Partition editieren:


Das Keybord-Layout wird auf deutsch umgestellt, indem die Datei
<code>/etc/default/keyboard</code> auf der Root-Partition wie folgt editiert
wird:
  XKBLAYOUT="de"
  XKBLAYOUT="de"


Stellt das Keyboard auf de um
Die Dateien <code>/etc/hostname</code> und <code>/etc/hosts</code> auf der
 
Root-Partition anpassen und dort die Zeichenkette <code>raspberrypi</code> durch
 
<code>lightpixx</code> ersetzen.
Nun die SD Karte in einen Raspberry Pi stecken und diesen mit Bildschirm und Tastatur und Netzwerk booten.
 
Einloggen mit
User: pi
und
Passwort: raspberry
 
Passwort ändern mit passwd
 
Root Passwort ändern sudo passwd
 
SSH Dienst aktivieren
 
sudo systemctl enable ssh.service
 
 
Datei /etc/ssh/sshd_config editieren und die Zeile anpassen


Datei <code>/etc/ssh/sshd_config</code> auf der Root-Partition editieren und die
folgende Zeile anpassen:
  PermitRootLogin yes
  PermitRootLogin yes


Danach den SSH Dienst starten
Danach den SSH-Dienst aktivieren:
ln -s /lib/systemd/system/ssh.service <root>/etc/systemd/system/multi-user.target.wants/ssh.service


sudo systemctl start ssh
= Pi Booten =
Das Laufwerk mit <code>eject /dev/sdb</code> auswerfen. Die SD-Karte in einen Pi
stecken und diesen mit Bildschirm und Tastatur und Netzwerk booten. Einloggen
mit Benutzer <code>pi</code> und Passwort <code>raspberry</code>.


IP-Adresse mit ip addr show herausfinden
Die Passwörter der Benutzer <code>pi</code> und <code>root</code> mit den
Befehlen <code>passwd</code> bzw. <code>sudo passwd</code> ändern.


System mit poweroff herunterfahren
Die bereits installierten Pakete aktualisieren:
sudo apt update
sudo apt dist-upgrade


Neu starten und über Netzwerk einloggen mit user root
Noch fehlende Pakete installieren:
sudo apt install tmux pigpio python3-pigpio python3-msgpack


Dann Pakete aktualisieren mit
PiGPIO Daemon konfigurieren:
sudo cp /lib/systemd/system/pigpiod.service /etc/systemd/system


  apt update
  sudo nano /etc/systemd/system/pigpiod.service
  apt dist-upgrade
  ExecStart=/usr/bin/pigpiod -l -x -1


Benötigte Pakete installieren
sudo systemctl enable pigpiod
sudo systemctl start pigpiod


apt install wiringpi tmux php-cli php-msgpack
Und den Pi herunterfahren
 
sudo poweroff
Die Dateien /etc/hostname und /etc/hosts anpassen und dort lightpixx eintragen
 
Raspberry Pi runterfahren, SD Karte entfernen und mit Cardreader an PC anschließen
 
Terminal starten und als root


= Basis-Image erstellen =
SD-Karte entfernen und mit Cardreader an PC anschließen. Terminal starten und
folgende Befehle als <code>root</code> Benutzer ausführen
  umount /dev/sdb1
  umount /dev/sdb1
  umount /dev/sdb2
  umount /dev/sdb2
  dd if=/dev/sdb of=2017-09-07-lightpi-base.img bs=1M count=2000
  dd if=/dev/sdb of=/var/nfs/iso-images/lightpi/2018-11-13-lightpi-base.img bs=1M count=1780
scp 2017-09-07-lightpi-base.img root@server02:/var/nfs/iso-images


Damit ist unter /var/nfs/iso-images/2017-09-07-lightpi-base.img nun ein Basisimage für den Lightpi vorhanden. Dieses kann dann für das Testsystem oder das Live System konfiguriert werden.
Damit ist das Basis-Image fertiggestellt. Produktivsysteme werden durch das
 
<code>push</code>-Skript konfiguriert.
= Erstellen des Testsystems =
 
Grundimage auf eine SD Karte kopieren
 
dd if=/var/nfs/iso-images/2017-09-07-lightpi-base.img of=/dev/sdb bs=1M
 
SD Karte auswerfen, Karte in den Lightpi stecken, Lightpi booten und über Netzwerk als root einloggen.
 
Danach das Lightpi Paket in /root installieren
 
scp -r root@server02:~/lightpi .
cd lightpi/sventest
./install.sh
 
Der Lightpi startet nun das Testprogramm
 
Danach den Pi runterfahren
 
poweroff
 
Raspberry Pi runterfahren, SD Karte entfernen und mit Cardreader an PC anschließen
 
Terminal starten und als root
 
umount /dev/sdb1
umount /dev/sdb2
dd if=/dev/sdb of=2017-09-07-lightpi-test.img bs=1M count=2000
scp 2017-09-07-lightpi-test.img root@server02:/var/nfs/iso-images
 
Damit ist unter /var/nfs/iso-images/2017-09-07-lightpi-test.img nun ein Image mit dem Testsystem für den Lightpi vorhanden.
 
 
= Erstellen des Produktivsystems =
 
Grundimage auf eine SD Karte kopieren
 
dd if=/var/nfs/iso-images/2017-09-07-lightpi-base.img of=/dev/sdb bs=1M
 
SD Karte auswerfen, Karte in den Lightpi stecken, Lightpi booten und über Netzwerk als root einloggen.
 
Danach das Lightpi Paket in /root installieren
 
scp -r root@server02:~/lightpi .
cd lightpi
./install-slave.sh
 
Der Lightpi startet nun das Produktivsystem
 
Nun den Public Key von root@server02 installieren. Auf server02 ausführen:
 
ssh-copy-id root@IP-ADRESSE-PI
 
wobei IP-ADRESSE-PI die IP-Adresse des LighPi ist, auf dem dieses Produktivsystem erstellt wird
 
Danach den Pi runterfahren
 
poweroff
 
Raspberry Pi runterfahren, SD Karte entfernen und mit Cardreader an PC anschließen
 
Terminal starten und als root
 
umount /dev/sdb1
umount /dev/sdb2
dd if=/dev/sdb of=2017-09-07-lightpi-prod.img bs=1M count=2000
scp 2017-09-07-lightpi-prod.img root@server02:/var/nfs/iso-images


Damit ist unter /var/nfs/iso-images/2017-09-07-lightpi-prot.img nun ein Image mit dem Testsystem für den Lightpi vorhanden.
= Test-Image erstellen =
TODO

Aktuelle Version vom 13. Dezember 2018, 12:42 Uhr

Allgemein

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

Kopieren des Grundimages

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

unzip 2018-11-13-raspbian-stretch-lite.zip

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

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

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 Zeichenkette init=/usr/lib/raspi-config/init_resize.sh löschen. Dies sorgt 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.

Die Datei /config.txt auf der Boot-Partition editieren und dort die Zeile dtparam=i2c_arm=on einkommentieren. Nun kann I²C auf dem Pi verwendet werden.

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 lightpixx 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 tmux pigpio python3-pigpio python3-msgpack

PiGPIO Daemon konfigurieren:

sudo cp /lib/systemd/system/pigpiod.service /etc/systemd/system
sudo nano /etc/systemd/system/pigpiod.service
ExecStart=/usr/bin/pigpiod -l -x -1
sudo systemctl enable pigpiod
sudo systemctl start pigpiod

Und den Pi herunterfahren

sudo poweroff

Basis-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=/var/nfs/iso-images/lightpi/2018-11-13-lightpi-base.img bs=1M count=1780

Damit ist das Basis-Image fertiggestellt. Produktivsysteme werden durch das push-Skript konfiguriert.

Test-Image erstellen

TODO