Making a backup

From Sharpfin
Jump to navigation Jump to search

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"

NAND devices do not hide any corrupt blocks. Furthermore, linux does not interface to the jffs2 disk drive at a particularly low level, so access to the /dev/mtd files will provide all of the nand data, warts and all.

When backing up your flash partitions, using functions such as cat or cp on the device will copy the partition data and also any bad blocks; however the tracking information which identifies these as bad blocks is lost, and you will end up with a corrupted output file and will not be able to tell a good data from bad block data.

Make sure you use the 'nanddump' utility, which skips bad blocks to provide a representative image of the actual disk data.

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.