75XX XNAND Recovery: Difference between revisions

From embeddedTS Manuals
No edit summary
No edit summary
Line 39: Line 39:
To write a new kernel:
To write a new kernel:
<source lang=bash>
<source lang=bash>
nandctl -XW 4096 -z 512 --seek part1 -i /path/to/kernel
dd if=zImage bs=512 conv=sync | nandctl -X -W 4095 -k kernel -z 512 -i -</source>
</source>


To write a new initrd:
To write a new initrd:
<source lang=bash>
<source lang=bash>
nandctl -XW 4096 -z 512 --seek part2 -i /path/to/initrd
dd if=initrd bs=512 conv=sync | nandctl -X -W 4095 -k initrd -z 512 -i -
</source>
</source>

Revision as of 12:00, 12 February 2013

This needs to be done directly on the SBC. If you are running from the SD card the XNAND will not be mounted by default. You can also boot to the initrd of the XNAND and unmount the xnand:

umount /mnt/root
WARNING: Rewriting the XNAND from a Debian filesystem on the XNAND will result in a corrupted image.

You can find the latest xnand image here. Once downloaded you can decompress the image using bzip2:

bzip2 -d xnandimg-latest.dd.bz2

The resulting file will be "xnandimg-latest.dd".

Backup

To backup the entire image containing the MBR/Kernel/Initrd/Debian you can run one command:

nandctl -XR 2048 -z 131072 > /path/to/backup.dd

To backup the current kernel:

nandctl -XR 4096 -z 512 --seek part1 > /path/to/kernel

To backup the initrd:

nandctl -XR 4096 -z 512 --seek part2 > /path/to/initrd

Restore

To write the entire image containing the MBR/Kernel/Initrd/Debian you can run one command:

nandctl -XW 2048 -z 131072 -i /path/to/xnandimg-latest.dd

To write a new kernel:

dd if=zImage bs=512 conv=sync | nandctl -X -W 4095 -k kernel -z 512 -i -

To write a new initrd:

dd if=initrd bs=512 conv=sync | nandctl -X -W 4095 -k initrd -z 512 -i -