In previous chapters, we discussed various ways to build the software for a Linux device and also how to create system images for various types of mass storage. When you go into production, you just need to copy the system image to the flash memory and it is ready to be deployed. Now, I want to consider the life of the device beyond the first shipment.
As we move into the era of the Internet of Things, the devices that we create are very likely to be connected together by the internet. At the same time, the software is becoming exponentially more complex. More software means more bugs. Connection to the internet means those bugs can be exploited from afar. Consequentially, we have a common requirement to be able to update the software in the field. Software update brings more advantages than fixing bugs, however. It opens the door to adding value...