{"id":13438311,"url":"https://github.com/sbabic/swupdate","last_synced_at":"2025-05-14T05:02:34.166Z","repository":{"id":11902926,"uuid":"14466698","full_name":"sbabic/swupdate","owner":"sbabic","description":"Software Update for Embedded Systems","archived":false,"fork":false,"pushed_at":"2025-05-13T10:54:23.000Z","size":19125,"stargazers_count":1560,"open_issues_count":8,"forks_count":417,"subscribers_count":97,"default_branch":"master","last_synced_at":"2025-05-13T11:42:31.783Z","etag":null,"topics":["embedded","embedded-systems","emmc","firmware-update","flashes","fota","hawkbit","industrial-linux","iot","linux","lua","ota","ota-firmware-updates","ota-updater","software-update","swupdate"],"latest_commit_sha":null,"homepage":null,"language":"C","has_issues":false,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/sbabic.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","license":"COPYING","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null},"funding":{"github":"sbabic"}},"created_at":"2013-11-17T12:52:31.000Z","updated_at":"2025-05-13T10:54:28.000Z","dependencies_parsed_at":"2024-08-13T07:40:31.273Z","dependency_job_id":"502d2f4d-57f4-43cb-af61-cdb0d4163309","html_url":"https://github.com/sbabic/swupdate","commit_stats":{"total_commits":2755,"total_committers":191,"mean_commits":"14.424083769633508","dds":0.5009074410163339,"last_synced_commit":"d275fec4bb2d4a0bc75f32853eca4794634d9dc4"},"previous_names":[],"tags_count":40,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sbabic%2Fswupdate","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sbabic%2Fswupdate/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sbabic%2Fswupdate/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sbabic%2Fswupdate/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/sbabic","download_url":"https://codeload.github.com/sbabic/swupdate/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254076381,"owners_count":22010609,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["embedded","embedded-systems","emmc","firmware-update","flashes","fota","hawkbit","industrial-linux","iot","linux","lua","ota","ota-firmware-updates","ota-updater","software-update","swupdate"],"created_at":"2024-07-31T03:01:04.453Z","updated_at":"2025-05-14T05:02:34.114Z","avatar_url":"https://github.com/sbabic.png","language":"C","readme":"\u003c!--\nSPDX-FileCopyrightText: 2013 Stefano Babic \u003cstefano.babic@swupdate.org\u003e\n\nSPDX-License-Identifier: GPL-2.0-only\n--\u003e\n\n\u003cp align =\"center\"\u003e\u003cimg src=SWUpdate.svg width=200 height=200 /\u003e\u003c/p\u003e\n\nSWUpdate - Software Update for Embedded Linux Devices\n=====================================================\n\n[![CI tests](https://github.com/sbabic/swupdate/actions/workflows/ci_tests.yml/badge.svg?branch=master)](https://github.com/sbabic/swupdate/actions/workflows/ci_tests.yml)\n[![Coverity Scan Build Status](https://scan.coverity.com/projects/20753/badge.svg)](https://scan.coverity.com/projects/20753)\n![License](https://img.shields.io/github/license/sbabic/swupdate)\n[![REUSE status](https://api.reuse.software/badge/github.com/sbabic/swupdate)](https://api.reuse.software/info/github.com/sbabic/swupdate)\n[![CII Best Practices](https://bestpractices.coreinfrastructure.org/projects/6506/badge)](https://bestpractices.coreinfrastructure.org/projects/6506)\n[![Donate](https://img.shields.io/badge/Donate-PayPal-green.svg)](https://www.paypal.com/donate/?hosted_button_id=R7Y5JDQB7E3YU)\n\n[SWUpdate](https://swupdate.org) is a Linux Update agent with the goal to\nprovide an efficient and safe way to update\nan embedded Linux system in field. SWUpdate supports local and OTA\nupdates, multiple update strategies and it is designed with security\nin mind.\n\n## Getting started\n\nTo start with SWUpdate, it is suggested you look at the documentation\nand build for one evaluation board (or you run SWUpdate on your host\nfor a first overview).\n\n## Features\n\nSWUpdate is a framework with a lot of configurable options:\n\n- Update of all components of device (rootfs, kernel, bootloader, microcontroller FW)\n- Install on embedded media (eMMC, SD, Raw NAND, UBIFS, NOR and SPI-NOR flashes)\n- Partitioner for GPT and MBR partition table\n- Allow single image delivery on multiple devices\n- Streaming mode without temporary copies of artifacts\n- Multiple interfaces (local and OTA) for getting software\n    - local storage (USB, etc.)\n    - integrated web server\n    - integrated REST client connector to [hawkBit](https://projects.eclipse.org/projects/iot.hawkbit) for fleet updates.\n    - remote server download\n- Software delivered as images, gzipped tarball, etc.\n- Allow custom handlers for installing FPGA firmware, microcontroller firmware via custom protocols.\n- Delta updates based on librsync.\n- Fail safe and atomic update\n- Lua interpreter to extend the update rules on your needs\n- Hardware / Software compatibility.\n- Small footprint to generate a rescue system to restore the device.\n- Cryptographic sign and verification of updates\n\t- support for OpenSSL\n\t- support for mbedTLS\n\t- support for WolfSSL\n- Encryption of artifacts via symmetric AES key.\n- pre and post update scripts\n- small resources required.\n- controllable via library\n- progress interface to report update status to an application / HMI.\n- ...and many others.\n\nTake a look at [features](https://swupdate.org/features).\n\n## Technical documentation\n\nDocumentation is part of the project and can be generated, or you access\nto the [Online Documentation](https://sbabic.github.io/swupdate/swupdate.html).\n\n## Building\n\nSWUpdate is well integrated in the [Yocto](https://www.yoctoproject.org) build system by adding\nthe [meta-swupdate](https://layers.openembedded.org/layerindex/branch/master/layer/meta-swupdate/) layer.\nIt is also integrated in [Buildroot](https://github.com/buildroot/buildroot/blob/master/package/swupdate/swupdate.config).\nDebian (and Debian-like distributions) has merged a [package](https://packages.debian.org/unstable/swupdate).\n\nExamples using meta-swupdate with evaluation boards (Beaglebone, RPI3) are provided in\n[meta-swupdate-boards](https://layers.openembedded.org/layerindex/branch/master/layer/meta-swupdate-boards/) layer.\n\n## License\n\nSWUpdate is released under GPLv2. A library to control SWUpdate is part of the\nproject and it is released under LGPLv2.1.\nLicense information for any file is either explicitly stated\nor defaults to GPL version 2.0. Extension written in Lua are subjected to\nLua license (MIT).\n\n## Community support\n\nA community support takes place on the SWUpdate's Mailing List:\n\n\tswupdate@googlegroups.com\n\nPlease subscribe to the list to post.\n\nA web-interface is available [here](https://groups.google.com/g/swupdate).\n\n## Open Source Compliance\n\nSWUpdate was analyzed to be Open Source compliant. See [Open Source Compliance](https://github.com/Open-Source-Compliance/package-analysis/tree/main/analysed-packages/swupdate)\nfor details.\n\n## Contributing to the project\n\nContributions are welcome !  You can submit your patches (or post questions\nregarding the project) to the Mailing List.\n\nPlease read the [contributing](http://sbabic.github.io/swupdate/contributing.html)\nchapter in the documentation how to contribute to the project.\n\nPatches are collected by [Patchwork](https://patchwork.ozlabs.org/project/swupdate/list)\n","funding_links":["https://github.com/sponsors/sbabic","https://www.paypal.com/donate/?hosted_button_id=R7Y5JDQB7E3YU"],"categories":["C","Misc","Others","Resources"],"sub_categories":["Embedded Linux","Firmware updates"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsbabic%2Fswupdate","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsbabic%2Fswupdate","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsbabic%2Fswupdate/lists"}