Files
clt2023/vortrag7_linux4ice.md
2023-03-12 10:43:21 +01:00

2.5 KiB

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.