###################################################################### # Document: Upgrade-U-Boot_Kirkwood_HOWTO.txt # Author..: Stuart Winter # Almost entirely based on Martin Michlmayr's document for # Debian # http://www.cyrius.com/debian/kirkwood/sheevaplug/uboot-upgrade/ # Version: 1.01 # Date...: 14-Jul-2014 ###################################################################### # v1.00 - 14-Jul-2014 # * Created. # v1.01 - 16-Jan-2017 # * Used newer U-Boot URLs from Debian. ####################################################################### 1.0 Ensure that the TFTP server is set up ------------------------------------- This document assumes that you have configured a working TFTP server on your Slackware x86 system. If you haven't, refer to section '2.3 Setting up your TFTP boot server' in the Kirkwood installation document: http://ftp.arm.slackware.com/slackwarearm/slackwarearm-current/INSTALL_KIRKWOOD.TXT 2.0 Populate the /tftpboot directory with the appropriate FDTB ---------------------------------------------------------- On your Slackware x86 system, download the appropriate version of U-Boot for your device: # mkdir -p /tftpboot # cd /tftpboot For SheevaPlug (Original, eSATA and the Ionics Nimbus 100): # wget https://d-i.debian.org/daily-images/armel/daily/kirkwood/u-boot/sheevaplug/u-boot.kwb For the DreamPlug: # wget https://d-i.debian.org/daily-images/armel/daily/kirkwood/u-boot/dreamplug/u-boot.kwb For the GuruPlug (Server Standard and Server Plus models) # wget https://d-i.debian.org/daily-images/armel/daily/kirkwood/u-boot/guruplug/u-boot.kwb For the Seagate Dockstar # wget https://d-i.debian.org/daily-images/armel/daily/kirkwood/u-boot/dockstar/u-boot.kwb 3.0 Pre-upgrade preparations ------------------------ At your system's current U-Boot console: Often (but not always) upgrading U-Boot wipes out your configuration values. If you have the Plug's Ethernet card configured in your DHCP server, it's worth while noting this so that you can re-set it after the upgrade: Marvell>> print ethaddr If you have a Guruplug or a device that has two Ethernet ports you'll need to note down both: Marvell>> print ethaddr Marvell>> print eth1addr 4.0 Set up the networking in U-Boot ------------------------------- We'll be loading the new U-Boot binary in via FTP, so you need to set up networking on your plug: If your network runs DHCP and provides the tftpboot configuration: Marvell>> dhcp If it doesn't, configure the tftp server IP manually: Marvell>> setenv serverip 192.168.1.2 # IP of your TFTP server Marvell>> setenv ipaddr 192.168.1.200 # The IP of your Plug 5.0 Performing the upgrade ---------------------- Load the U-Boot binary into RAM: Marvell>> tftpboot 0x0800000 u-boot.kwb For SheevaPlug (and SheevaPlug variants) and GuruPlug: Marvell>> nand erase 0x0 0x60000 Marvell>> nand write 0x0800000 0x0 0x60000 For the DreamPlug: >> sf probe 0 >> sf erase 0x0 0x60000 >> sf write 0x0800000 0x0 0x60000 Finally, reboot the machine: Marvell>> reset 6.0 Re-instating the MAC address ---------------------------- Interrupt the boot sequence and re-instate the MAC address that you noted down at the start of the upgrade process. Marvell>> print ethaddr If it doesn't match, set it back: Marvell>> set ethaddr F0:AD:4E:00:19:B5 ## use your own MAC, preferably ;-) Marvell>> set eth1addr F0:AD:4E:00:19:B6 ## and the 2nd MAC if your device has two Ethernet oorts Marvell>> save ; reset -- Stuart Winter 14-Jul-2014