Add vortrag 7
This commit is contained in:
42
vortrag7_linux4ice.md
Normal file
42
vortrag7_linux4ice.md
Normal file
@@ -0,0 +1,42 @@
|
|||||||
|
# Linux4ICE - Linux auf den Innenanzeigern der ICE Flotte der DB
|
||||||
|
- Wie cool ist es für den ICE zu entwickeln?
|
||||||
|
- Sind von der DB Systel
|
||||||
|
- Die bauen Innenanzeigen Images
|
||||||
|
- Was wollen wir nicht: Die Teile sollen booten und im Optimalfall auch richtige Anzeigen liefern.
|
||||||
|
- Herstellerbereich: Essentielle Funktionen des Fahrzeugs
|
||||||
|
- Betreiberbereich: Komfort für den User
|
||||||
|
- Alles was der User braucht um sich zurecht zu finden
|
||||||
|
- Innenanzeiger
|
||||||
|
- Die ganzen Systeme laufen in verschiedenen VMs: Telemetrie VM, Service VM usw.
|
||||||
|
- ZIP: Zug ITK Plattform. Verkabelung sieht wild aus, ist aber anscheinend nicht wild
|
||||||
|
- Reisenden Informations Systeme: RIS
|
||||||
|
- Innenanzeiger ist einfach nur ein Linuxrechner, welcher einen Browser startet und darin den Innenanzeiger darstellt
|
||||||
|
- Über IP wird die Anzeige individualisiert.
|
||||||
|
- Bei mehreren Displays pro Anzeiger wird mit URL Parameter unterschieden.
|
||||||
|
- Hardware der Geräte:
|
||||||
|
- sechs verschiedene Lieferanten, sind aber alle x86
|
||||||
|
- Manche haben ssd, manche eMMC
|
||||||
|
- Herstellerspezifische Controllerboards. Die wollen Darkboot, damit man den PXE Bootvorgang nicht sieht.
|
||||||
|
- Watchdog: Wird scharf geschalten. Alle paar Sekunden wird geschaut, ob Gerät reagiert. Wenn nicht, Gerät rebooten.
|
||||||
|
- Nutzen Yocto Linux.
|
||||||
|
- Viele Hersteller haben bereits Yocto Layers, wodurch man die sehr leicht integrieren kann
|
||||||
|
- Mit Yocto lässt sich ein kleines Image bauen.
|
||||||
|
- Ein Target Image für alle Geräte
|
||||||
|
- Zentrale Gitlab CI/CD Pipeline
|
||||||
|
- Haben "dicke Kiste": 16 Cores, 48GB RAM
|
||||||
|
- Team ist hinter Corporate Proxy, brauchen 125 Freischaltungen, damit ihre Pipeline läuft
|
||||||
|
- Sinn der Pipeline: Reproducible builds (es gibt Timestamps im image, aber binär sind sie gleich)
|
||||||
|
- Schmeißt einige Artefakte aus der Pipeline, bspw. OTA Updates und flashable images
|
||||||
|
- Nutzen VS Code und ssh remote. Auf Linux Maschine sind alle Sachen ausgecheckt
|
||||||
|
- Nutzen docker crops image, um identische Build Umgebung zu bekommen
|
||||||
|
- Haben mehrere coole Anzeiger daheim im Home Office rumfliegen
|
||||||
|
- virtuelle Anzeiger laufen in Proxmox
|
||||||
|
- Rollout: Im Testlabor gibt es jedes dämliche Display einmal aufgebaut.
|
||||||
|
- Robuste Over the air upgrades mit RAUC
|
||||||
|
- Haben zwei rootfs. Beim Update wird bootloader umgelegt, sodass man immer einen validen Stand hat, auch bei fehlgeschlagenem Update. Analog zu Android OTA
|
||||||
|
- Systemd markiert boot als erfolgreich.
|
||||||
|
- Watchdogs schauen systemd logs durch, sodass zur Not ein reset/reboot direkt getriggert werden kann.
|
||||||
|
- Bevor dem Kunden was falsches angezeigt wird, schaltet Display ab.
|
||||||
|
- Optimierung der Softwarearchitektur. Sprechen sich mit anderen DB Unternehmen ab.
|
||||||
|
|
||||||
|
|
Reference in New Issue
Block a user