Das Firmware-Over-the-Air-Update (FOTA-Update) ist eine der wichtigsten Funktionen für die überwiegende Mehrheit smarter Devices, die beispielsweise von Herstellern in den Branchen Automotive, Unterhaltungselektronik oder Healthcare eingesetzt werden. Die FOTA-Update-Funktionalität ermöglicht es Herstellern zum einen, Fehler in Softwarekomponenten des bestehenden Systems zu beheben und zum anderen Updates aus der Ferne einzuspielen. Damit bleiben die Geräte immer auf dem aktuellsten Stand, auch wenn neue Funktionen und Features erst nach dem Kauf eines Devices eingeführt werden.
Hauptanforderungen an Geräte oder Komponenten für unter anderem die Automobilindustrie sind Installationen von System-Updates oder Komponenteneinstellungen (z.B. sekundäre Bootloader-, Linux-Kernel- oder User-Land-Anwendungen) aus der Ferne.
Ein externer Watchdog Service ist ebenfalls Teil des Update-Mechanismus, der das Booten des aktualisierten Kernels überwacht, um mögliche Stillstände zu verhindern. Darüber hinaus hilft es, den unbeaufsichtigten Aktualisierungsprozesses mit einer Funktion zur automatischen Wiederherstellung im Falle eines Fehlers oder einer Unterbrechung auszustatten.
Drei Sets NAND-Flash-Partitionen wurden vorgesehen, um die Ausfallzeiten des Systems während des Updates zu minimieren und eine automatische Rollback-Funktion bereitzustellen. Jedes Set enthält eine Partition für den Linux-Kernel und eine weitere für das Root-Dateisystem. Wenn das System auf Partitionssatz A läuft, werden neue Kernel- und Root-Dateisystem-Images in das Partitionsset B geschrieben. Sobald der Schreibvorgang abgeschlossen ist, wird das gesamte System auf Partitionsset B neu gestartet. Während des ersten Starts wird eine Überprüfung der Funktionsfähigkeit durchgeführt. Im Falle eines fehlgeschlagenen Checks startet das System wieder in das Partitionsset A zurück und verwirft das Partitionsset B.
Wenn es nicht möglich sein sollte, in das Partitionsset B neu zu booten – und darüber hinaus nach einem Rollback auch nicht in das Partitionsset A zurückzukehren – wird ein dritter Partitionssatz F verwendet, wobei F für „Factory Firmware“ steht. Dieses Partitionsset ist während des Gerätelebenszyklus nicht veränderbar und enthält daher Firmware, die bei der Werksproduktion verifiziert und auf den Flash geschrieben wurde. Obwohl die Firmware in der F-Partition als veraltet angesehen werden kann, garantiert sie, dass bis zum Eintreffen eines Servicetechnikers zumindest eine minimale Systemfunktionalität zur Verfügung steht, um das defekte Gerät für die weitere Wartung abzuholen.
Fallback Firmware garantiert maximale Fehlertoleranz
Auch für den Fall, dass das Firmware-Update nicht vollständig durchgeführt werden kann, ist vorgesorgt: ein externes Watchdog-Gerät kommt zum Einsatz, um das Gerät zurückzusetzen. Während des Neustarts erkennt der Bootloader, warum das System neugestartet wurde: per Watchdog-Gerät, aufgrund eines Stromausfalls oder daraufhin, dass das System nach Abschluss des Aktualisierungsvorgangs zum Neustart aufgefordert worden ist.
Dann trifft der Bootloader eine Entscheidung, welches Partitionsset für den aktuellen Bootvorgang unter Berücksichtigung des Auslösers zum Neustart ausgewählt werden soll.
Dies wird durch die Verwendung einer Reboot-Matrix ermöglicht, wobei derselbe Code beibehalten werden kann und nur die Reboot-Matrix geändert wird, um einen zusätzlichen oder blockierten Neustart-Pfad bereitzustellen. All dies macht das System zu einer flexiblen und zur gleichen Zeit übertragbaren Lösung.
Es existieren bereits diverse Implementierungen für FOTA-Updates, die auf zwei Partitionssets basieren. Jedoch hat sich Concept Reply dazu entschieden, eine eigene Lösung mit drei Partitionssets zu entwickeln und somit zu erreichen, dass Kundensysteme fehlertoleranter und robuster als vergleichbare Lösungen sind. Damit wird das Konzept auch für Geräte interessant, bei denen die Ausfallsicherheit das entscheidende Kriterium ist.
Was ist vor der Durchführung zu beachten?Es ist eine Herausforderung, Software-Updates für Geräte aus der Ferne zu verwalten. Daher ist es unerlässlich, die richtigen Mittel zu finden, um Software-Rollout-Prozesse zuverlässig und sicher durchzuführen. Es gibt mehrere Software-Optionen, die dafür genutzt werden können. Concept Reply hat eine Checkliste erstellt, die Sie durch die Anforderungen von Firmware-Over-the-Air-Updates führt und hilft, eine Softwarelösung zu finden, die Ihren Anforderungen entspricht.
Concept Reply ist ein auf die Erforschung, Entwicklung und Validierung innovativer Lösungen spezialisierter IoT-Softwareentwickler und unterstützt seine Kunden aus der Automobil-, Fertigungs- und Smart-Infrastructure-Industrie sowie anderen Branchen in allen Fragen rund um das Internet der Dinge (IoT) und Cloud Computing. Ziel ist es, End-to-End-Lösungen entlang der gesamten Wertschöpfungskette anzubieten: von der Definition einer IoT-Strategie über Testing und Qualitätssicherung bis hin zur Umsetzung einer konkreten Lösung.