LED-Laufschrift fürs Vereinsheim: Unterschied zwischen den Versionen

Buildumgebung für Raspberry Pi
(Umbauaktion)
(Buildumgebung für Raspberry Pi)
 
Bei der Wiederinbetriebnahme zeigte sich, dass das Dateisystem auf dem Raspberry Pi die häufigen Resets während der Fehlersuche wohl nicht überstanden hatte und somit das System nicht mehr bootete. Es wurde also ein neues System auf Basis von Gentoo mit crossdev aufgebaut, welches nur-lesbar aus einem squashfs-Archiv geladen wird. Dadurch sind zukünftige Ausfälle des Dateisystems ausgeschlossen und die Bootzeit ist wesentlich geringer.
 
=== Aktueller Stand ===
 
* Pi bootet vom squashfs und startet den DisplayServer :-)
* Alle LED-Panels können angesteuert werden
 
Die Entwicklungsumgebung für das Gentoo-Squashfs liegt auf archzilla.bingo. Zum Zugriff darauf als "bingo" einloggen und folgendes tun:
 
$ sudo -s
# cd /home/bingo/chroots/gentoo
# ./init_chroot.sh
# chroot . /bin/bash
(chroot) # source /etc/profile
 
In dieser Umgebung existieren 3 Ordner unter /root:
 
* raspi-linux: der Kernel für den Lumino-Pi
* raspi-root: das Root-Dateisystem, aus dem das squashfs erstellt wird (dieses enthält KEIN Portage!)
* raspi-initramfs: das initramfs, das das squashfs mountet und mit einem tmpfs überlagert
 
Zusätzlich gibt es Skripte, die aus diesen Ordnern die entsprechende Zieldatei (initramfs.img, root.squashfs) erstellen.
 
Alle persistenten Änderungen am Pi-System werden in /root/raspi-root vorgenommen und dann in root.squashfs gepackt, welches dann auf die boot-Partition der SD-Karte kopiert werden kann.
 
Das installieren neuer Pakete erfolgt in 2 Schritten:
 
armv6j-hardfloat-linux-gnueabi-emerge -av <paket>
 
 
installiert das Paket unter /usr/armv6j-hardfloat-linux-gnueabi, der Buildumgebung für das Rasperry-Pi-System, und erzeugt Binärpakete.
 
ROOT=/root/raspi-root armv6j-hardfloat-linux-gnueabi-emerge -avK <paket>
 
installiert die erzeugten Binärpakete (nur die Laufzeitabhängigkeiten) unter /root/raspi-root. Das Flag -K ist sehr wichtig, da dies verhindert, dass Pakete aus den Quellen gebaut werden (das sollte nur in der Buildumgebung geschehen).
 
==== Probleme/ToDo ====
 
Hardware:
 
* 3,3V-Stromverteilungsboard muss weiter nach links verschoben werden, da die Kabel der linken Panele zu kurz sind
* Netzteil wird sehr heiß (auch ohne Volllast) → Lüfter nötig
 
Software:
 
* Boot-Zeit zu lang
** Symptom: OpenRC steht lang bei „Caching service dependencies“
** Mögliche Ursachen: Datei mit Abhängigkeiten fehlt, falsche Zeitstempel
** Mögliche Lösung: Root-Dateisystem nach dem Boot vom Pi ziehen, mit dem Original vergleichen und fehlende Dateien nachziehen, so dass diese beim Booten bereits vorhanden sind
 
* Bus-Schild fehlt komplett
 
[[Category:Projekt]]
359

Bearbeitungen