Embedded devices are becoming ever more complex and simultaneously becoming ever more interconnected. The first makes it very likely that updates will be needed to fix problems as they arise, and the latter opens up the possibility that updates can be pushed over the network. Adding the software update mechanism to your connected embedded devices provides numerous advantages both at product and business levels.
On the other hand, devices with static software – those that cannot be updated in the field – are open to attack, with consequent risk to end users and negative publicity for the developers and device manufacturers. It is safe to say that software updates for devices in the field is truly a requirement.
In this paper, we discuss:
- Requirements of a software update system
- Software update components of an embedded Linux device
- How to make deploying software updates secure and robust