Es folgt der aktuelle Stand vom 16.09.2019, der zwar noch nicht im Endstadium angekommen ist, aber schon interessante Details liefert!

Bei diesem Projekt geht es darum, ein Raspbian zum Arbeiten bereitzustellen, welches nach jedem Start “jungfräulich” ist, also vollkommen betriebsbereit installiert ist, aber ohne Spuren eines Vorgängers.

Mein “Rezept” in Stichworten, aber mit Details, welches später noch ausführlicher werden wird. Wie immer gilt: Ich bin kein Spezialist und habe mir alle Informationen aus dem Internet beschafft. Von daher kann es gut sein, dass manches nicht stimmig ist. Aber bisher funktioniert es!

  1. SD-Karte wie gewohnt mit dem aktuellsten Raspbian beschreiben (bei Windows mittels WIN32DiskImager).
  2. Verhindern, dass ein automatisches Vergrößern der Partition stattfindet
    a) Auf der SD-Karte die Datei “cmdline.txt” mit Notepad editieren, so dass “init=/usr/lib/raspi-config/init_resize.sh ” gelöscht wird.
  3. Beim erstmaligen Boot die Updates überspringen, Partition vergrößern und zwei neue anlegen.
    a) sudo fdisk -l
    b) sudo fdisk /dev/mmcblk0
    c) d; 2; n; p; 2; alten Startsektor eintragen (z. B. 540672); neuen Endsektor eintragen (z. B. 17000000)
    d) n; p; 3; 17000001; 33000000
    e) n; p; 4; 33000001; 49000000
    f) w
    g) sudo reboot
  4. Drive vergrößern
    a) sudo resize2fs /dev/mmcblk0p2
    b) sudo resize2fs /dev/mmcblk0p3
    c) sudo resize2fs /dev/mmcblk0p4
  5. Drive formatieren
    a) sudo mkfs.ext4 /dev/mmcblk0p3
    b) sudo mkfs.ext4 /dev/mmcblk0p4
  6. RDP aktivieren (optiional – für einfacheres Arbeiten)
    a) sudo apt-get purge realvnc-vnc-server
    b) sudo apt-get autoremove
    c) sudo apt-get install tightvncserver
    d) sudo apt-get install xrdp
    e) sudo reboot
  7. Image vom USB-Stick auf Partition 3 kopieren und mounten
    a) Mittels 7Zip die Datei “1.img” aus dem Raspbianimage extrahieren und auf USB-Stick speichern.
    b) sudo dd bs=4M if=/media/<Name des USB-Sticks>/1.img of=/dev/mmcblk0p3 conv=fsync status=progress
    c) sudo mount /dev/mmcblk0p3 /mnt
    d) Mittels “ls -al /mnt” lässt sich der entpackte Inhalt der IMG-Datei nun auf der SD-Karte ansehen.
  8. Von Partition 3 booten
    a) mittels “sudo raspi-config” in einem der Menüs SSH für Notfälle aktivieren.
    b) sudo nano /boot/cmdline.txt: aus “root=PARTUUID=3b18e43a-02” wird “root=PARTUUID=3b18e43a-03” gemacht.
    c) sudo reboot
  9. Zurück zur Standardpartition 2
    a) nach Boot der neuen Partition sudo nano /boot/cmdline.txt und dort den Eintrag wieder auf “root=PARTUUID=3b18e43a-02” stellen.
    b) sudo reboot
  10. 3,5-Zoll-LCD-Touchscreen nutzen (Optional! Dabei wird HDMI deaktiviert und der Akku schaltet nicht mehr selbstständig ab.)
    a) sudo rm -rf LCD-show
    b) git clone https://github.com/goodtft/LCD-show.git
    c) chmod -R 755 LCD-show
    d) cd LCD-show/
    e) sudo ./MHS35-show
    f) sudo ./rotate.sh 180 (falls die Anzeige auf dem Kopf steht)
    g) sudo ./LCD-hdmi (wenn man wieder zurück zum HDMI-Port wechseln möchte.

Was noch fehlt ist eine Kopie eines funktionierenden Gastsystems, was dann auf Partition 4 liegen wird (Mastersystem). Vorher muss noch der “Umbau” das Gastsystems auf Partition 3 erfolgen: Aus dem Shutdown und dem Abmelden muss ein Reboot ins Adminsystem der Partition 2 gemacht werden. Nach einer Stunde im Standby des Systems sollte ebenfalls solch ein Reboot erfolgen. Das Adminsystem muss automatisch den Inhalt von Partition 3 löschen und alles aus Partition 4 dorthin kopieren. Sicherheitshalber werden dann alle Dateien verglichen. Wenn es nicht ok ist, wird noch einmal kopiert. Ansonsten wird der nächste Boot auf Partition 3 eingestellt, der Raspi heruntergefahren und ein angeschlossener Akku sollte sich abschalten. Damit steht der Raspi für die nächste Kopieraktion zur Verfügung.

 

Zusätzliche “Schmankerl”:

Um später stressfrei an das Adminsystem zu kommen, wäre ein Bootmenü mit Passwort und automatischem Start der Partition 3 sinnvoll. Sollte ein Update des Gastsystems nötig sein, wird es sauber hochgefahren, die Einstellungen gemacht, der “Shutdown-Automatismus” deaktiviert, die Bootpartition von Hand auf 2 gesetzt und die automatische Kopiererei von Partition 4 nach Partition 3 abgeschaltet. Nach dem Boot in die Adminpartition kann man eine Kopie des Gastsystems zum Mastersystem machen. Eine vorherige Sicherung des bisherigen Mastersystems auf einen USB-Stick wäre optimal! Auch das Adminsystem sollte wenigstens einmal gesichert werden. Anschließend macht man alle Änderungen, die man zum Sichern des Mastersystems gemacht hat, rückgängig, startet die Kopie von Gast zum Master, setzt die Bootpartition wieder auf 3 und macht abschließend einen Shutdown. Für diese Aktionen könnte man Skripte erstellen.

 

So ist mein jetziger Plan (18.09.2019)! Wegen des dazwischengekommen Gewächshaus-Automationsprojekt wird dieses Projekt vermutlich erst Ende 2019 fortgesetzt. Bis dahin bitte etwas Geduld!