Firmware Update made easier
by admin
I just finished working on a new graphical user interface in the general camera system preferences that should simplify the process of camera firmware upgrade also called “reflashing”. There are quite a few ways to update a cameras firmware so it might be challenging to keep a clear overview: http://wiki.elphel.com/index.php?title=Usage_Tutorials.
The basic idea is the same for all approaches:
- Share a new firmware image on a computer over NFS (Tutorial on setting up NFS can be found here)
- Tell the camera the NFS share and start the reflash script
The new GUI should do this in a tidy manner and verifies that the share is working correctly and that all required firmware files are valid before letting you press the Reflash button.
Looks nice 🙂
Wanted to ask why NFS is used? As I have seen this kind of interfaces for wireless routers and other devices, where you just upload mentioned files. If in this case you have more than one file to upload, you could easily implement multiple file upload using Ajax (javascript + flash) and validate them once they have been uploaded.
When doing the firmware update the Axis CPU basically boots from the network (NFS) so it can overwrite the cameras internal linux distro.
It is not possible to store all those files on the camera in RAMÂ as NANDÂ flash is twice bigger than RAM.
NFS is used because it’s the most common and simple network fs that work on GNU/Linux including embedded systems.
The hardwired network boot loader in Axis CPU allow to send a kernel and ramfs to even an empty-flash camera (or a camera with a corrupted/non-working firmware). Once you have a booted GNU/Linux the reflashing procedure is the same: mount NFS, check md5, write on NAND.
Great, thank you for information – otherwise it seemed rather complicated diremware upgrade procedure comparing to interfaces seen on wireless routers and similar devices.