- Newest
- Most votes
- Most comments
Hi. Firstly, AWS IoT Core Device Advisor is a "fully managed test capability for validating IoT devices during device software development". It's not anything to do with performing OS updates. Greengrass manages your connectivity for you, and it uses the AWS IoT Device SDK for Java V2. This SDK is already regression tested against Device Advisor.
For OS updates, the approach depends on whether you want to perform package updates or full OS image updates (as is commonly the case for embedded Linux devices).
Package updates
For package updates, you could consider AWS Systems Manager and possibly the Systems Manager Agent component. With Systems Manager you will be able to perform updates at scale across your fleet. Alternatively, you can use a custom component as jrcarb described.
Full image updates
For image updates, the common approach is to use a custom component to integrate with an update tool such as SWUpdate, RAUC or similar. In this case, the image can be an artifact for the custom component, so Greengrass will manage the download for you. You can then use the recipe's bootstrap lifecycle to call into your device' update tool, and take advantage of how the bootstrap lifecycle can reboot your device, so that the new image becomes active. The Greengrass bootstrap feature also supports rollback.
You can see the list of all provided components for Greengrass here: https://docs.aws.amazon.com/greengrass/v2/developerguide/greengrass-components.html
You can develop your own component that periodically checks for updates and runs a script to perform updates, or do whatever you want by following this guide: https://docs.aws.amazon.com/greengrass/v2/developerguide/develop-greengrass-components.html
Relevant content
- Accepted Answerasked 2 years ago
- AWS OFFICIALUpdated 9 days ago
- AWS OFFICIALUpdated 4 months ago
- AWS OFFICIALUpdated a year ago
- AWS OFFICIALUpdated a year ago