[U-Boot] DreamPlug bootloader replacement

Jason u-boot at lakedaemon.net
Wed Apr 20 16:12:21 CEST 2011


All,

I'm attempting to replace u-boot on the new dreamplug.  This is
different from the guruplug and sheevaplug in that the bootloader is
stored in a 1MB (!) flash connected via SPI.  I was able to dump the
factory u-boot to a file, and it's header looks strikingly similar to
the u-boot.kwb image I used on my guruplug.  However, the first 32 bits,
supposedly the magic number, are different.  Is that important?

Here's the first 0x100 bytes starting at 0x0.

### factory dreamplug image ###########################################
0000000: 5a 00 00 00 54 49 02 00 00 00 00 00 00 02 00 00
0000010: 00 00 60 00 00 00 60 00 00 00 00 00 00 00 01 bc
0000020: 40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0000030: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0000040: e0 00 d1 ff 9b 9b 1b 1b 00 14 d0 ff 30 0c 00 43
0000050: 04 14 d0 ff 00 30 54 37 08 14 d0 ff 51 54 12 22
0000060: 0c 14 d0 ff 33 0a 00 00 10 14 d0 ff cc 00 00 00
0000070: 14 14 d0 ff 00 00 00 00 18 14 d0 ff 00 00 00 00
0000080: 1c 14 d0 ff 52 0c 00 00 20 14 d0 ff 40 00 00 00
0000090: 24 14 d0 ff 7f f1 00 00 28 14 d0 ff 20 55 08 00
00000a0: 7c 14 d0 ff 52 85 00 00 00 15 d0 ff 00 00 00 00
00000b0: 04 15 d0 ff f1 ff ff 0f 08 15 d0 ff 00 00 00 10
00000c0: 0c 15 d0 ff f5 ff ff 0f 14 15 d0 ff 00 00 00 00
00000d0: 1c 15 d0 ff 00 00 00 00 94 14 d0 ff 00 00 03 00
00000e0: 98 14 d0 ff 00 00 00 00 9c 14 d0 ff 03 e8 00 00
00000f0: 80 14 d0 ff 01 00 00 00 00 00 00 00 00 00 00 00
### end factory dreamplug image #######################################

And, here's my u-boot.kwb:

### my u-boot.kwb #####################################################
0000000: 8b 00 00 08 58 9d 03 00 00 00 00 00 00 02 00 00
0000010: 00 00 60 00 00 00 60 00 00 00 00 00 00 00 01 4e
0000020: 40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0000030: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0000040: e0 00 d1 ff 9b 9b 1b 1b 00 14 d0 ff 30 0c 00 43
0000050: 04 14 d0 ff 00 30 54 37 08 14 d0 ff 51 54 12 22
0000060: 0c 14 d0 ff 33 0a 00 00 10 14 d0 ff cc 00 00 00
0000070: 14 14 d0 ff 00 00 00 00 18 14 d0 ff 00 00 00 00
0000080: 1c 14 d0 ff 52 0c 00 00 20 14 d0 ff 40 00 00 00
0000090: 24 14 d0 ff 7f f1 00 00 28 14 d0 ff 20 55 08 00
00000a0: 7c 14 d0 ff 52 85 00 00 00 15 d0 ff 00 00 00 00
00000b0: 04 15 d0 ff f1 ff ff 0f 08 15 d0 ff 00 00 00 10
00000c0: 0c 15 d0 ff f5 ff ff 0f 14 15 d0 ff 00 00 00 00
00000d0: 1c 15 d0 ff 00 00 00 00 94 14 d0 ff 00 00 03 00
00000e0: 98 14 d0 ff 00 00 00 00 9c 14 d0 ff 03 e8 00 00
00000f0: 80 14 d0 ff 01 00 00 00 00 00 00 00 00 00 00 00
### end my u-boot.kwb #################################################

Also, before I do a 'sf erase...; sf write...' I'd like to know I can
recover via the jtag, if necessary.  In theory, I should be able to load
the factory image into RAM via jtag, and run it.  Then, use tftpload and
'sf write' to restore the factory bootloader.  What I'm missing is how
to directly burn the spi flash from openocd.  Has anyone done this?  Is
there a config I can reference?

thx,

Jason. 


More information about the U-Boot mailing list