Sheevaplug 2018: Upgrade U-Boot

23 de Agosto, 2018

ARM, Informática, Single Board Computer

Here we are in 2018 and suddenly had an urge to dig up my old Sheevaplug, an SBC released in 2009 with a 1.2 GHz CPU and 512MB of RAM. This was probably the first commercial SBC, long before the Raspberry Pi and all the cheaper alternatives available nowadays.

If you own a Sheevaplug you might want to know how you can update U-Boot and install the latest version of Debian, so here is my updated guide.

Connect to Sheevaplug’s Serial Port

If you haven’t noticed it yet, Sheevaplug has a handy virtual serial port available over its micro USB port. The serial port is based on the FTDI Chip, FT2232D, which has drivers for almost all operating systems. Unfortunately, Sheevaplug requires a modified version of those drivers that aren’t available anymore / usable under recent versions of Windows and macOS. A workaround for this issue is to use Debian – the required drivers come built-in :). Kali works as well, as expected.

Now, after connecting the micro USB cable to your Debian machine (virtual or physical), you need to locate the device.

dmesg | egrep --color 'serial|tty'
ls /dev/ttyUSB0

Usually, it will show as /dev/ttyUSB0, but in doubt, dmesg will reveal its location. Now we can use the popular screen tool to connect to the Sheevaplug:

screen /dev/ttyUSB0 115200

At this point, if you hit enter you’ll probably get the login prompt of an old Linux you had previously installed or the U-boot itself complaining about some boot error. Your best bet is to restart the device and wait for U-boot to come back and stop the boot process by sending anything to the device.

Upgrading U-boot

The upgrade process is easy if you do it properly. First of all, you need to download the latest version of U-boot from here:

http://ftp.debian.org/debian/dists/stretch/main/installer-armel/current/images/kirkwood/u-boot/sheevaplug/u-boot.kwb

Now grab an empty USB flash drive and reformat it as FAT16 with 8MB of size. I recommend this because on multiple occasions I’ve found that exFAT or FAT32 will lead to upgrade issues, more specifically “Invalid FAT entry” and a bricked device. Under Windows, you can reformat your flash drive following this guide.

Once your USB flash drive is FAT16, drop the u-boot.kwb there and under Sheevaplug’s U-boot prompt run the following commands:

usb start
fatload usb 0:1 0x0800000 u-boot.kwb
nand erase 0x0 0x80000
nand write 0x0800000 0x0 0x80000
reset

Your device should restart with the latest version of U-boot. Now we need to set the MAC address of the ethernet card which can be done with the following commands. Note that the MAC address is written on a label on the device itself.

setenv ethaddr f0:ad:4e:xx:xx:xx
setenv macaddr f0:ad:4e:xx:xx:xx
saveenv
reset

After a reboot, you are done! On the next post, learn how to install the latest version of Debian.