Updating u-boot on GuruPlug Server PLUS

After long post starvation period GuruPlug got chance to be used again.
It seems logical, that all the software needs updated. I’ve checked my old post, and it seems like it has some parts missing, and those links with u-boot images doesn’t have any recent update.

So I’m here to fix that part.
As it’s a follow up to the old uboot install post I won’t get into details.

Don’t forget the disclaimer:
http://loginroot.com/disclaimer/
Please, keep in mind, that rewriting U-Boot erases all the environment variables including the ones that contain Your boot parameters, so Your existing OS will become unbootable!
The new OS install will be covered in the next post.

Let’s hookup our GuruPlug JTAG board as described in GuruPlug serial connection post.

And let’s view the version:

Marvell>> version       

U-Boot 2013.10 (Oct 21 2013 - 20:54:41)
Marvell-GuruPlug
gcc (Debian 4.8.1-9) 4.8.1
GNU ld (GNU Binutils for Debian) 2.23.52.20130727

We are going to use a testing version. It’s much more recent version.
If You want to use a stable version, You may download it from here.

Also, mark down both ethernet MAC addresses, as those settings seem to be reset after new uboot install, and if You are going to use ethernet ports, You must have those variables set. Well, they should also be printed on the bottom of GuruPlug (at least in my case).

Marvell>> print ethaddr
ethaddr=00:50:43:00:00:0E
Marvel>> print eth1addr
eth1addr=00:50:43:00:00:0F

Download the image, and put it to Your usb flash drive (yep, this time no tftp, or You may use the network as in old post). Flash drive must be fat32!

Put the usb flash into GuruPlug and start the usb:

Marvell>> usb start
(Re)start USB...
USB0:   USB EHCI 1.00
scanning bus 0 for devices... 4 USB Device(s) found
       scanning usb for storage devices... Device NOT ready
   Request Sense returned 02 3A 00
Device NOT ready
   Request Sense returned 02 3A 00
3 Storage Device(s) found

You may check all the available usb partitions with command usb part.

Marvell>> usb part
## Unknown partition table

## Unknown partition table


Partition Map for USB device 2  --   Partition Type: DOS

Part    Start Sector    Num Sectors     UUID            Type
  1     2048            7852032         77e6cfe3-01     0b

In my case, it’s USB device 2, so lets load uboot image from root of the 2nd device 1 partition (2:1) into the temporary location:

=> fatload usb 2:1 0xa000000 u-boot.kwb
reading u-boot.kwb
492852 bytes read in 44 ms (10.7 MiB/s)

Prepare empty space for its steady location (492852 bytes in hex would be 0x785334, so 0x80000 for our image is going to be enough):

Marvell>> nand erase 0x0 0x80000

NAND erase: device 0 offset 0x0, size 0x80000
Erasing at 0x80000 -- 100% complete.
OK

And burn the uboot:

Marvell>> nand write 0xa000000 0x0 0x80000

NAND write: device 0 offset 0x0, size 0x80000
 492852 bytes written: OK

Lets check it out:

=> reset
resetting ...


U-Boot 2016.11+dfsg1-3 (Dec 22 2016 - 04:44:44 +0000)
Marvell-GuruPlug

SoC:   Kirkwood 88F6281_A1
DRAM:  512 MiB
WARNING: Caches not enabled
NAND:  512 MiB
*** Warning - bad CRC, using default environment

In:    serial
Out:   serial
Err:   serial
Net:   egiga0
Error: egiga0 address not set.
, egiga1
Error: egiga1 address not set.

88E1121 Initialized on egiga0
88E1121 Initialized on egiga1
IDE:   ide_preinit failed
Hit any key to stop autoboot:  0

Ok, version “U-Boot 2016.11+dfsg1-3 (Dec 22 2016 – 04:44:44 +0000)” seems to be much more recent than before, but we still have to fix this part:

 Error: egiga0 address not set.
, egiga1
Error: egiga1 address not set.

So lets set them to the ones we’ve marked at at the beginning of the process and reset the device:

=> setenv ethaddr 00:50:43:01:90:7E
=> setenv eth1addr 00:50:43:01:90:7F
=> saveenv
Saving Environment to NAND...
Erasing NAND...
Erasing at 0xe0000 -- 100% complete.
Writing to NAND... OK
=> reset
resetting ...


U-Boot 2016.11+dfsg1-3 (Dec 22 2016 - 04:44:44 +0000)
Marvell-GuruPlug

SoC:   Kirkwood 88F6281_A1
DRAM:  512 MiB
WARNING: Caches not enabled
NAND:  512 MiB
In:    serial
Out:   serial
Err:   serial
Net:   egiga0, egiga1
88E1121 Initialized on egiga0
88E1121 Initialized on egiga1
IDE:   ide_preinit failed
Hit any key to stop autoboot:  0

All done.
OS install will be covered in the next post.

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.