Yocto basierte Entwicklung von embedded Linux-Systemen
Wir bieten Entwicklungsunterstützung, Integrationsunterstützung und Beratung für
Linux BSP Entwicklung
- uBoot Bootloader Anpassung
- Konfiguration und Hardening des Kernels
- Device tree Konfiguration
- Secure Boot für Cortex-A CPU (Arm Trustzone)
- Persistenter Speicher: Layout und Partitionierung
Linux Anwendungsentwicklung
- In Rust, C++, Python, Typescript
- Für target CPU, GPU, NPU
- Einschließlich
- Anwendungsarchitektur und Design
- BDD und TDD -Framework Einbindung sowie Spezifikation der maschinen-ausführbaren Testfälle
- Dokumentation als Code
Multi-Hardware und Multi Anwendungsintegration mit einer Konfigurationsbasis
- Parallele Wartung verschiedener Hardwareplattformen (PCB-A's), in mehreren Hardwarerevisionen und Bestückungsvarianten
- Parallele Wartung verschiedener Anwendungen (ihrer Abhängigkeit zur Hardware) in verschiedenen Version, mit verschiedenen "Feature Toggles".
- Tooling support für BSP Entwickler.
- Tooling support für Anwendungsentwickler
- Entkopplung der Anwendungsentwicklung von der BSP Entwicklung
- Integration in die CI Landschaft
- Release- Management und -Prozeduren
- Übergreifende Service Middleware Konfiguration
- Logging facilities
- Integration von 3rd Party software: Datenbanken (z.B. Postgres), Kommunikationsdienste (z.B. MQTT server Mosquitto, web server Nginx)
- Yocto Upstream Konfigurationsänderungsintegration
IOT-Device Integration-Testing
- ptest Infrastruktur für
- Anwendungen
- 3rd party Middleware
- BSP
- Als Teil der CI Infrastruktur
- Entweder auf der Targethardware oder QEMU emuliert auf gleicher ISA Architektur
Board Functional Circuit Testing (FCT) Fixture Entwicklung
Functional circuit testing Qualitätssicherungsmaßnahme bei der PCB-A Herstellung. Es erfordert die Installation und Instrumentierung einer Test Fixture Software auf der frisch bestückten Leiterplatte.
Die Functional Circuit Test (FCT) Fixture Software ist selbst ein Yocto firmware image, welches den gleichen Bootloader und den gleichen Kernel wie die Anwendungssoftware benutzt.
Initiale Firmware-Installation und Provisionierung
- Initiale Firmware Installation: (einer der letzten Schritte in der Produktion)
- Secure Key Generierung, irreversible nur für den Prozessor lesbare Speicherung
- Installation der Initialen Anwendungssoftware
- Freischalten von (secure, remote) Software Updates
- Geräte Provisionierung
- Aufnahme des neuen Gerätes in ein bestehendes IoT Netzwerk.
- Konfiguration des spezifischen Geräteverhaltens
Secure-Boot und Secure-Software-Update
- Software update via mender, swupdate oder rauc
- Migration von Nutz- und Konfigurations- Daten während des Software Updates
- Rücksetzen auf Werkseinstellung der Konfigurationsdaten
- Secret Management der boot keys (als teil der CI und Release -Infrastruktur)
- Secure Lifecycle Management einschließlich secure build
Datenschutz und Datenintegrität
- Verschlüsselung von
- Gespeicherten Daten (data file system partition)
- Übertragenen Daten (z.B. via TLS, HTTPS)
- Audit-sicheres logging (Sicherstellung von Konsistenz/Integrität und Vertraulichkeit der Log -Informationen)
- Logging von sicherheitsrelevanten Aktivitäten
Umsetzung der Anforderungen aus dem Cybersecurity Resilience Act
(CRA)
- System hardening
- SBOM
- Fremd-Komponenten-Validierung (z.B. SouP - für Medizinprodukte)
- Common Vulnerabilities and Exposures (CVE) -Analyse via timesys
AMS Yocto Integrationsumgebung
Wir betreiben eine AMS (AlMedSo) genannte Yocto Integrationsumgebung. Dort zeigen wir unsere Erfahrungen exemplarisch anhand von ein paar Beispiel-Anwendungen (Images), die auf einer Reihe von Entwicklungsboards laufen.
Hier sind das Manifest-Repository und Layer-, Recipe- und Konfiguration-Repositories als auch eine Docker-Container Spezifikation für (headless) Yocto builds.
Wir veröffentlichen ebenso Blogeinträge zum Thema Yocto.