This was asked in another thread some time ago. One thing you could try is to use the dd command to backup to a USB drive and restore from the USB drive as long as the root password was not set.
The command to backup would look like this:
dd if=/dev/mmcblk0 of=/mnt/sda1/<Any File Name> bs=1M
To restore you’ll need to enter:
dd if=/mnt/sda1/<File Name> of=/dev/mmcblk0 bs=1M
You can check some more information in the original thread https://communities.intel.com/thread/55807.
although it's always a bit risky to dd a running system (you might have pending writes ...). Usually you would mount a drive which you then can dd - which in the case of Edison wouldn't work (unless you have a live USB system you can boot Edison).
Just some more thoughts:
If it's about the image you may also want to Yocto build a customized image which you then can flash to Edison.
If you don't need to customize the image but just to modify the standard image you can also mount the ext4 partition as loop device in the Edison image to flash folder, modify it there and afterwards flash the modified image.
If it's about user data somewhere in /home folder - if you use the Arduino board you could put the user data on a sdcard which obviously easily can be copied
I have tried this approach with only difference of piping dd output through the network to my computer.
When you try to dd the copied image onto a working Edison it seems to succeed and after reboot all the files are intact. But it keeps firing ext4 filesystem errors to the serial console. Is there a way to avoid this? No other way to copy image changes to other Edison other than building a yocto image?
Have you tried following the other comments from this post https://communities.intel.com/thread/55807? Another user suggested that probably the issue was due to the system being active when he made the backup and the restore. Later he says that to avoid ext4 errors he had to boot from a microSD and with the Edison partitions unmounted, make a dd of root and home partitions. Then restore with dd on the new Edison, always maintaining the partitions unmounted.
My guess is that you need to copy the flash content using read/write functions from the u-boot bootloader. This is not a good idea to clone the file system while still running and this will not be reliable. So far, the way I am "cloning" my setup on my Edisons is using a custom image with all the tools I need (git, svn, libraries, kernel modules, etc.). I use Flash Tool Lite (IoT - Flash Tool Lite User Manual | Intel® Developer Zone) to flash the image. Then, I do :
1) Minimal configuration of the Edison by connecting through the USB / Ethernet driver (192.168.2.15) and the configure_edison script.
2) git clone everything I need on the newly flashed Edison OR
3) copy through ssh everything I need
4) Execute some automated scripts to finalize the configuration.
I am very interested to know if you have a better solution.
My goal was to automate everything, including initial setup, so I was actually left with no choice but modifying Intel's yocto image to fit my interests. I ended up with a combination of writing yocto recipes and modifying the built image via mounting it to the file system.
Hope that kind of helps!