Since the actual update took me a long long time, due to a series of technical problems and the difficulty of getting the uboot bin file, I will document every single step and will include a link to every file to make sure that I can refresh my sheeva easily in the future. There are many other how-to's around the web, I tried few of them but non worked for me.
Pre-Requisites:
- A 32b linux installation
- php5-cli
- openocd
- libftdi1
- Sheeva Plug Installer (a 145MB download link)
Install php5-cli if you don't have it installed.
sudo apt-get install php5-cliI had problems running the php script because the default configuration didn't included the local environmental variables. So take a look to:
install openocd;
/etc/php5/cli/php.ini
search for "variables_order"
and make sure the E is there; like that:
variables_order = "EGPCS"
Then install libftdi1
sudo apt-get install openocd
sudo apt-get install libftdi1
And to finish the prep work, download and extract the Sheeva Plug Installer to your favorite directory.
Setup you connection
These are the setting to connect to your sheeva plug with any terminal from link.
- 115200 baud
- 8 data bit
- N parity
- 1 stop byte
- 0 (none) flow control
uboot versionThe Sheeva Plug installer includes uboot version 3.4.19. Others howto's recommend U-Boot 3.4.27+pingtoo.
U-Boot Upgrade
Took me a while to get the bin file, but I finally found it in here. The actual uboot is part of the zip file in "Preparing USB Pendrive". By the way this is great tutorial. Or you can download the U-Boot 3.4.27+pingtoo from here.
Replace the uboot.bin file in /sheevaplug-installer/uboot with this uboot.bin. Edit /sheevaplug-installer/uboot/uboot-env/uboot-nand-custom.txt to include your sheeva plug MAC address.
Prepare the USB drive
Download and save the following files in a formatted USB drive.
- initrd (this is the same found in the installer)
- uImage kernel 2.6.39.3 (or newer from http://sheeva.with-linux.com/sheeva/ )
- modules.tar.gz 2.6.39.3 (or newer from http://sheeva.with-linux.com/sheeva/ )
- rootfs.tar.gz (or make your own with this script, download to your current sheeva, chmod +x and run as root)
Plug the USB drive in the sheeva, and run the following command from the sheevaplug-installer folder.
php runme.php nandThis should copy the new uboot into the sheeva, and then will execute run recover1. If you just want to reflash withou upgrade uboot, just execute run recover1 from the uboot console.
Finishing
- check the date, apt-get may not work if the date is wrong.
- apt-get update
- apt-get upgrade
- regenerate the ssh
- rm /etc/ssh/ssh_host*
- ssh-keygen -t dsa -f /etc/ssh/ssh_host_dsa_key -N ""
- ssh-keygen -t rsa -f /etc/ssh/ssh_host_rsa_key -N ""
- dpkg-reconfigure tzdata
- dpkg-reconfigure locales
- edit /etc/hostname to change the hostname.
http://www.plugcomputer.org/downloads/plug-basic/
Since the original link from plugcomputer forum is broken, I used the uboot found here: http://caller9.com/blog/21/full/
Manually unpacking a tar ball of Debian on SheevaPlug
http://www.cyrius.com/debian/kirkwood/sheevaplug/unpack.html
SheevaPlug Installer
http://plugcomputer.org/plugwiki/index.php/SheevaPlug_Installer
U-Boot Links:
Uboot howto Cross Compile
http://doukki.net/wiki/tutoriels/uboot.howto
Upgrading SheevaPlug's Uboot
http://www.cyrius.com/debian/kirkwood/sheevaplug/uboot-upgrade.html