WebHome < News < DENX · 2017. 2. 28. · Created Date: 2/14/2017 3:34:48 PM

2
www.denx.de https://sbabic.github.io/swupdate/ SWUpdate https://github.com/sbabic/swupdate/ SWUpdate The Software Updater Kaum ein industrielles Embedded System kommt ohne Software Updates aus: sei es, dass neue Leistungsmerk- male nachgerüstet werden sollen, dass Fehler korrigiert oder bekannt werdende Sicherheitslücken behoben wer- den müssen. Die meist auf Paketmanagern beruhenden Update-Mechanismen klassischer Linux-Distributionen sind hierfür ungeeignet: sie können z. B. im Fehlerfall weder ein Recovery noch ein Fall-Back auf die vorherige Version garantieren, so dass z. B. „Over-the-Air“-Updates ein unkalkulierbares Risiko wären. SWUpdate beruht auf den Erfahrungen aus 18 Jahren Embedded Linux Entwicklung und den Erkenntnissen aus zahllosen Projekten für verschiedenste Kunden und Einsatzgebiete. Inzwischen wird SWUpdate von einer ständig wachsenden Community auch in zahlreichen Projekten außerhalb von eingesetzt. Mit seinem Fokus auf Robustheit, Zuverlässigkeit, Sicherheit und Flexibilität hat es sich damit zu einem De-Facto-Indus- triestandard entwickelt. Hardly any industrial system can do without software updates - be it that new features need to be added, bugs be fixed or patches for security exploits need to be in- stalled. The usually package manager based update tools of the classic Linux distributions don‘t fit this purpose: for example, in case of errors they cannot guarantee neither a recovery nor a fall-back to the previous version, so that for example „Over-the-Air“ updates would present unac- ceptable risks. SWUpdate is based on the experience of 18 years of Embedded Linux development and accumulates the knowledge of a very large number of projects for different customers and use cases. In the meantime, a constantly growing community has been using SWUpdate in many projects outside Putting the focus on robustness, reliability, security and flexibility, SWUpdate has become a de facto industry standard.

Transcript of WebHome < News < DENX · 2017. 2. 28. · Created Date: 2/14/2017 3:34:48 PM

Page 1: WebHome < News < DENX · 2017. 2. 28. · Created Date: 2/14/2017 3:34:48 PM

www.denx.de

https://sbabic.github.io/swupdate/SWUpdate https://github.com/sbabic/swupdate/

SWUpdateThe Software Updater

Kaum ein industrielles Embedded System kommt ohne

Software Updates aus: sei es, dass neue Leistungsmerk-

male nachgerüstet werden sollen, dass Fehler korrigiert

oder bekannt werdende Sicherheitslücken behoben wer-

den müssen. Die meist auf Paketmanagern beruhenden

Update-Mechanismen klassischer Linux-Distributionen

sind hierfür ungeeignet: sie können z. B. im Fehlerfall

weder ein Recovery noch ein Fall-Back auf die vorherige

Version garantieren, so dass z. B. „Over-the-Air“-Updates

ein unkalkulierbares Risiko wären.

SWUpdate beruht auf den Erfahrungen aus 18 Jahren

Embedded Linux Entwicklung und den Erkenntnissen

aus zahllosen Projekten für verschiedenste Kunden und

Einsatzgebiete. Inzwischen wird SWUpdate von einer

ständig wachsenden Community auch in zahlreichen

Projekten außerhalb von eingesetzt. Mit seinem

Fokus auf Robustheit, Zuverlässigkeit, Sicherheit und

Flexibilität hat es sich damit zu einem De-Facto-Indus-

triestandard entwickelt.

Hardly any industrial system can do without software

updates - be it that new features need to be added, bugs

be fixed or patches for security exploits need to be in-

stalled. The usually package manager based update tools

of the classic Linux distributions don‘t fit this purpose: for

example, in case of errors they cannot guarantee neither

a recovery nor a fall-back to the previous version, so that

for example „Over-the-Air“ updates would present unac-

ceptable risks.

SWUpdate is based on the experience of 18 years of

Embedded Linux development and accumulates the

knowledge of a very large number of projects for different

customers and use cases. In the meantime, a constantly

growing community has been using SWUpdate in many

projects outside Putting the focus on robustness,

reliability, security and flexibility, SWUpdate has become

a de facto industry standard.

Page 2: WebHome < News < DENX · 2017. 2. 28. · Created Date: 2/14/2017 3:34:48 PM

Merkmale von SWUpdate: SWUpdate unterstützt verschiedene Update-

Strategien, insbesondere Recovery-System und Double-Copy.

Es können alle gängigen Speichermedien verwendet werden, z. B. NOR/SPI-NOR Flash, NAND Flash, eMMC, SDCard, ...

Das ganze Design ist darauf ausgelegt, bei allen Störungen (z. B. Stromausfall während des Updates) garantiert immer wieder in einen betriebsfähigen Zustand zu kommen.

Durch Mechanismen wie Hardware-Watchdog, Boot-counter usw. kann das auch garantiert werden, wenn z. B. die neu installierte Software funktionsunfähig ist.

Alle Updates erfolgen streng atomar und liefern ein präzise reproduzierbares Ergebnis.

SWUpdate kann Hardware-Kompatibilität prüfen, so dass ein gemeinsames SWUpdate-Image für ganze Produktfamilien verwendet werden kann.

Sicherheit ist ein wesentliches Design-Merkmal: SWUpdate-Images können kryptographisch signiert (Authentifizierung) und/oder mit symmetrischen Keys verschlüsselt werden.

SWUpdate-Images können im Streaming-Modus ohne Zwischenspeicherung auf dem Target installiert werden.

Es werden Pull- und Push-Verfahren unterstützt, d. h. das Embedded System sucht selbständig nach Updates, oder diese werden von einem externen Server auf die Targets verteilt.

SWUpdate ist bereits in Buildsysteme wie Yocto und Buildroot integriert.

Durch Pre- und Post-Install-Scripte (LUA, Shell) ist SWUpdate leicht an spezielle Anforderungen anpassbar.

SWUpdate bietet eine offene, gut dokumentierte Schnittstelle zu Back-Ends. Es wurde erfolgreich in industrielle Provisionierungssysteme wie hawkBit integriert.

SWUpdate ist vollständig Open Source (GPLv2).

SWUpdate Features: SWUpdate supports multiple update strategies, espe-

cially Recovery System and Double Copy.

All popular storage media can be used, e. g. NOR/SPI-NOR flash, NAND flash, eMMC, SDCard, ...

The design is focused on robustness so that in all cas-es (like for example power loss during an update) it is guaranteed to recover into an operational state.

Using features like hardware watchdog, boot counter etc. guarantee that even if for example the newly installed software does not work properly.

All updates are strictly atomic and lead to strictly reproducible results.

SWUpdate can check for hardware compatibility, so a common SWUpdate image can be used for whole product families.

Security is one of the key features of SWUpdate: im-ages can be cryptographically signed (authentication) and/or encrypted using symmetric keys.

SWUpdate supports a streaming mode so you can in-stall updates on the target without need for intermedi-ate storage.

Both pull and push modes are supported, i. e. the em-bedded system either actively searches for updates, or a remote server distributes these to the target systems.

SWUpdate is fully integrated into common build systems like Yocto and Buildroot.

It is scriptable (LUA, Shell) and supports pre- and post-install scripts so that it is easy to adjust to specific requirements.

SWUpdate provides an open, well documented inter-face to back ends. It has been successfully integrated into industrial provisioning systems like hawkBit.

SWUpdate is fully Open Source (GPLv2).

denx software engineering GmbH | Kirchenstraße 5 | 82194 Gröbenzell | Germany

Tel.: +49 (0) 81 42 6 69 89 - 0 | Fax: +49 (0) 81 42 6 69 89 - 80 | Email: [email protected] | Web: www.denx.de