3,260
edits
Changes
→Linux-based upgrading
== Linux-based upgrading ==
If the network is available, it's a good point that the embedded system is able to run programs like a tftp client, a ftp server/client, a ssh client (with scp program) or the wget program: with these tools, the system can easily retrieve the upgrade packages from the network. When the network is not unavailable, a typical approach is to provide the end-user with a storage device (e.g. usb pen drive or SD card) with the software upgrade packages.
When preparing the root file system, it's fundamental to add all the application binaries and libraries required to implement the upgrade procedures.
In some cases, the upgrade procedures can be activated automatically, running periodic checks on the network or triggering the start when detecting an attached storage device containing the software upgrade.
Please note that, in order to erase and write MTD flash partitions, their writability flag must be set in Linux. Usually the U-Boot MTD partition is protected against write, so an update of the kernel is required before storing a new u-boot. Updating U-Boot is not a common operation, but sometimes it is required to solve some bugs or implement new features.
== Local upgrading ==