I have a Connect ME 9210 4/8 running embedded linux (without JTAG). During development, I have been using the serial port and U-Boot to update the kernel or rootfs (issuing the command over serial, but using tftp to download the image). I would like to find a way to update the device using only the network.
I am able to update UserFS by downloading an image and typing “update_flash UserFS.jffs2 4”. However, if I try the same with the rootfs, the device becomes unresponsive. Usually it will not boot until I load a new rootfs through U-Boot. The “Device Options -> Update Flash” option in Eclipse results in the same problem.
I experience the same problem - after updating rootfs from Linux using update_flash, the device sometimes becomes unresponsive until rebooted.
The reason is that after replacing the root file system on the running Linux renders the file system in a non-operating state (every file system operation fails with error after flashing). I can understand that hot-swapping the rootfs might pose some problems not easyily solvable.
However, and that’s my real problem, the -R option of update_flash, which is supposed to reboot the system after flashing, does not reliably work. In about 1 out of 10 cases, the system hangs after a successful update_flash -R and needs a powercycle.
This is very unfortunate for the purpose of remote-updating my 9210 ME based devices which are 24/7 powered and not easily reset manually.
I would very much like to see the source code of update_flash to actually understand this problem, and maybe create a fixed version.