Upgrade the Sheevaplug u-boot boot loader

If you have a Sheevaplug and you want to change the Ubuntu 9.04 with a Debian, you should first upgrade the boot loader u-Boot.

Connect your sheevaplug with a USB cable and prepare your PC console this command:

screen /dev/ttyUSB1 115200

Screen is a program to connect with a serial console.

Now turn on the SheevaPlug and wait 3/4 seconds: 4.. 3.. 2.. 1.. start screen!

Don't wait nothing and click random keys to interrupt the bootloader and open u-boot console

Marvell>>

Ok, if you see this screen, all it's ok to start upgrade u-boot!

Marvell>> version

If you type this command, and if it show this text, you should update it:


U-Boot 1.1.4 (Dec 27 2009 - 22:03:21) Marvell version: 3.4.27

You should update with the DENX variant:


U-Boot 1.1.4 (Dec 27 2009 - 22:03:21) Marvell version: 3.4.27

Ok, now start the upgrade! :D

Marvell>>

Ok, if you see this screen, all it's ok to start upgrade u-boot!

Marvell>> print ethaddr
ethaddr=00:50:43:01:c0:ab

Save this value, because you should restore it after the upgrade.
Download the right u-boot version for your device:

There are two different possibility: install from a USB stick formatted with a FAT partition or start a TFTP server in your PC connected with the SheevaPlug with a Ethernet Cable.

With UB cable
Copy u-boot.kwb in the USB stick. Connect the stick in the SheevaPlug and with serial console:

Marvell>> usb start
Marvell>> fatload usb 0:1 0x0800000 u-boot.kwb
Marvell>> nand erase 0x0 0x60000
Marvell>> nand write 0x0800000 0x0 0x60000

With TFTP server
Configure your pc with the IP 192.168.1.2 (we configure the Sheevaplug with the IP 192.168.1.3). Start the TFTP server and, in the serial console:

Marvell>> setenv serverip 192.168.1.2
Marvell>> setenv ipaddr 192.168.1.3
Marvell>> tftpboot 0x0800000 u-boot.kwb
Marvell>> nand erase 0x0 0x60000
Marvell>> nand write 0x0800000 0x0 0x60000

Ok, when you have finish, you should reset to reboot machine and stop again in the boot to set MAC address of the machine, saved before.

Marvell>> reset
Marvell>> setenv ethaddr 00:50:43:01:c0:ab
Marvell>> saveenv
Marvell>> reset

Only if you have a sheevaplug with eSata you have to change some settings in u-boot so the device will boot the correct kernel for your device.

Marvell>> setenv machid a76
Marvell>> saveenv
Marvell>> reset