Kragorn wrote:init
sheevaplug_init
dockstar_reset_cpu
load_image uboot-original-mtd0.kwb 0x800000
resume 0x800200
Good work Kragorn!!!
I confirm that this also works with the Xilinx Parallel Cable III.
I had to change the interface to parport_dlc5, as only the standard JTAG pins are available on this programmer, ie no TRST and SRST. I had already installed RP1 and R166, so I have not verified if they are truly required.
My objective is to find a pin compatible 1GB TSOP NAND and see if I can do a fresh install of Arch Linux ARM install/embDebian/OpenWRT directly onto the blank part.
It looks like if I renamed uBoot.mtd0.kwb to uboot.bin, and called "sheevaplug_reflash_uboot" instead of "load_image", that would erase the NAND and write the new uboot with appropriate ECC. My question is whether the address ranges for uboot and uboot-env are the same in the Dockstar as the Sheevaplug, or do I need to change the length of the erase to 0x80000 since that is the size of the uboot image. How about the address range to write the uboot-env parameters? Do I even NEED to change the parameters already in the Dockstar?
- Code: Select all
proc sheevaplug_reflash_uboot { } {
# reflash the u-Boot binary and reboot into it
sheevaplug_init
nand probe 0
nand erase 0 0x0 0xa0000
nand write 0 uboot.bin 0 oob_softecc_kw
resume
}
After that, I assume that I can load an image from the uBoot shell via TFTP and perform some variation of the following steps from
http://www.cs.cmu.edu/~ecc/dockstar-howto.html- Code: Select all
CE>> mw 0x800000 0 0x100000
CE>> tftpboot 0x800000 dockstar-uImage
# take note of the "bytes transferred" in hex and make sure that it's less than 0x100000
# if not, redo the "mw" command above with a larger size, and use that size in the commands below
# CAREFULLY erase the uImage partition and flash it with the new kernel
CE>> nand erase 0x100000 0x400000
CE>> nand write.e 0x800000 0x100000 0x100000 # or larger size if needed
CE>> mw 0x800000 0 0x200000
CE>> tftpboot 0x800000 dockstar-rootfs
# as above, make sure 0x200000 is larger than the rootfs image size, or adjust accordingly
# CAREFULLY erase the rootfs partition and flash it with new squashfs image
CE>> nand erase 0x500000 0x2000000
CE>> nand write.e 0x800000 0x500000 0x200000 # or larger size if needed
# CAREFULLY erase the rootfs_data partition so openwrt will create a jffs2 overlay filesystem
CE>> nand erase 0x2500000 0xdb00000
I'm debating whether to flash the Pogoplug image to mtd1/2 just to have a fallback plan if either Pogoplug or Arch Linux ARM install/embDebian/OpenWRT gets corrupted.
Any comments/advice would be greatly appreciated.