75XX MicroSD Recovery
These instructions for rewriting the SD card must be done either on the arm system, or on a linux workstation. We do not support any method using Windows to rewrite the cards, but many virtual machines offer USB redirection which will also work with the USB card reader supplied in the development kit. The methods using dd and sdctl to rewrite the SD card will completely erase everything on the card and set up our MBR, kernel, intird, and Debian filesystem. No prior formatting to the card is needed.
After plugging in the USB adapter to your PC you will need to determine the block device. You can usually find this in the output of 'dmesg' after inserting the SD card and you will typically see something like '/dev/sdb' as the block device and '/dev/sdb1' for the first partition. On some newer kernels you will see '/dev/mmcblk0' as the block device and '/dev/mmcblkop1' for the first partition. For these examples I will use the '/dev/mmcblk0' format.
You can find the latest SD card image here. Make sure you decompress the image first before writing. For example to decompress on most Linux workstations you can run:
bzip2 -d dblstorimg-4gbsd-latest.dd.bz2
To update to our latest image from your workstation:
dd if=/path/to/dblstorimg-4gbsd-latest.dd of=/dev/mmcblk0 bs=32k && sync && sync
From Workstation
Backup
Entire SD card
dd if=/dev/mmcblk0 of=/path/to/backup.dd bs=32k && sync && sync
Kernel
dd if=/dev/mmcblk0p2 of=/path/to/zImage bs=32k && sync && sync
Initrd
dd if=/dev/mmcblk0p3 of=/path/to/initrd bs=32k && sync && sync
Restore
Entire SD card
dd if=/path/to/backup.dd of=/dev/mmcblk0 bs=32k && sync
Kernel
dd if=/path/to/zImage bs=32k of=/dev/mmcblk0p2 && sync
Initrd
dd if=/initrd bs=32k of=/dev/mmcblk0p3 && sync
From SBC
Backup
Entire card
# Determine the block size
eval $(sdctl)
dd if=/dev/nbd5 of=/path/to/backup.dd bs=512 count=$cardsize_sectors conv=sync && sync
Kernel
sdctl -R 4096 -z 512 --seek part1 > kernel
Initrd
sdctl -R 4096 -z 512 --seek part2 > initrd
Restore
The entire card from SBC
dd if=/path/to/2gbsd-noeclipse-latest.dd bs=512 conv=sync of=/dev/nbd5 && sync
Kernel
dd if=/mnt/root/zImage bs=512 conv=sync of=/dev/nbd7 && sync
Initrd
dd if=/mnt/root/initrd bs=512 conv=sync of=/dev/nbd8 && sync