Making a backup
Making a backup
The reciva module has onboard NAND flash which is used to store the software. The flash is split into several partitions, here's the layout of my IMP box:
# cat /proc/mtd dev: size erasesize name mtd0: 00004000 00004000 "NAND BootAgent" mtd1: 000fc000 00004000 "Linux Kernel" mtd2: 00d00000 00004000 "Root" mtd3: 00100000 00004000 "Config" mtd4: 00100000 00004000 "Debug" mtd5: 00000000 00004000 "Data"
A simple backup mechanism is storing the raw contents of the block devices. I've been told that simply using cat or cp is not safe on NAND devices, but a better alternative exists: the 'nanddump' tool.
Via ssh
If you've got ssh running, the following is a method of creating a back of the partitions. Run these commands on another machine on the network where you want to store the backups:
$ ssh root@<address-of-the-box> "nanddump /dev/mtd/0 -" > backup/mtd0
Repeat the command for each flash partition, increasing the 0 to 5.
Via telnet
If you are working through telnet, you will need to dump the partitions to /tmp or a mounted drive
$ mkdir /tmp/x $ smbmount //server/share /tmp/x -ousername=username,password=password $ nanddump /dev/mnt/0 /tmp/x/mtd0
Via the Webserver
Comming soon: nand backup via the webserver
Restoring
With these saved images, you can perform a restore of your radio if everything goes wrong. Check the Unbricking page for more information.
Restoring the backup might be also possible using the 'nandwrite' utility. I've not tried this myself, and I'm quite sure strange things will happen while writing the flash image while the partition is mounted. Use at your own risk, and feel free to write down your experiences here.