Upgrade to mainline U-Boot from Debian archive
When Marvell originally released the first plug computer, they created their own version of u-boot with support for their new devices. Unfortunately, this version of u-boot is fairly out of date nowadays compared to mainline u-boot and has several problems. Support for plug computers (such as SheevaPlug and GuruPlug) have been integrated into the mainline u-boot (also known as DENX u-boot) in the meantime and Clint Adams has packaged it for Debian.
I finally found the time to test Clint's u-boot binary on my devices and have updated the SheevaPlug installation guide accordingly. If you're have installed Debian to a SheevaPlug according to my instructions, I suggest you upgrade.
If you boot from a MMC/SD card, you should be aware that the mmcinit command has been renamed to mmc init in order to be consistent with the naming of other commands. You'll therefore have to update your bootcmd_mmc variable in u-boot like this:
setenv bootcmd_mmc 'mmc init; ext2load mmc 0:1 0x00800000 /uImage; ext2load mmc 0:1 0x01100000 /uInitrd' saveenv
The Boot Process of the SheevaPlug running Debian
I received a number of questions as to how the boot process of the SheevaPlug running Debian works. I've now published an explanation of how u-boot loads the Debian kernel and ramdisk in order to boot Debian.
Debian support for eSATA SheevaPlug available
The eSATA SheevaPlug is supported by the Debian installer and by Debian now. I've updated the install guide accordingly.
If you're already running Debian on your eSATA SheevaPlug but you installed as a regular SheevaPlug to USB or SD and you'd like to use the eSATA, then make sure you're the latest kernel from Debian squeeze:
apt-get update apt-get dist-upgrade flash-kernel
Reboot and type this in u-boot:
setenv arcNumber 2678 saveenv reset
Your machine will then be recognized as an eSATA SheevaPlug and eSATA will work.
Thanks to John Holland for working on SheevaPlug eSATA support.
Debian installer for SheevaPlug available
You can now use the Debian installer to install Debian on the Marvell SheevaPlug. This routine will install Debian testing (squeeze), which is currently under development. The installer itself is also under development, so there may be problems from time to time but it should generally work pretty well. The Debian installer doesn't support installations to flash, but you can use it to install to a USB stick or disk as well as to an SD card. Here are installation instructions.
SheevaPlug lenny tar ball and SD cards
I updated my SheevaPlug installation instructions today to document how to boot from an SD card. The u-boot boot loader shipped with the SheevaPlug doesn't have SD/MMC card support, but PlugComputer forum user kwonsk created one that does (and which works pretty well, except for not working with some SD cards).
Debian 5.0 (lenny) tar ball for the SheevaPlug
It took me a while because of travel and other projects, but I finally released a tar ball containing Debian lenny for the SheevaPlug along with some installation instructions. It should be really easy to install Debian this way, but I'll also make sure that SheevaPlug support will be in the Debian installer for the next release of Debian. For now, check out the tar ball I prepared!
Power consumption of the SheevaPlug
Various people were wondering how much power the SheevaPlug consumes exactly. Laurent Guerby, who runs the GCC Compile Farm, posted some data today. According to his measurements with an Energy Monitor 3000, the SheevaPlug uses:
| 3.1W | just on, Linux booted |
| 3.3W | serial |
| 4.3W | serial + Ethernet |
| 5.4W | serial + Ethernet + 100% CPU |
| 6.0W | serial + Ethernet + USB disk |
| 7.0W | serial + Ethernet + USB disk + 100% CPU |
However, these figures should be seen as preliminary and relatively high values since power management for Kirkwood has not been implemented in the kernel yet. In particular, the Kirkwood chip has SATA and PCI-E but they could be turned off since they're not used by the SheevaPlug. This is currently not done in the kernel, so you can expect some improvements in this area.
SheevaPlug: the NSLU2 killer
I received a SheevaPlug this
week, an intriguing device that packs incredible power and functionality
into a tiny package. As many of you know, I've been doing a lot of work on
Debian for the Linksys
NSLU2 in the last few years. The NSLU2 is a key reason why ARM has
become the third most popular architecture in Debian (after 32 and 64 bit
x86), and I believe a main reason is that the NSLU2 is so incredibly cheap.
At a price under $100, most people don't think too long and simply buy a
device and do something cool with it.
The SheevaPlug is being offered at the same price range but offers considerably more. Riku Voipio asked the right question: "What would you do with something approximately 10x more powerful with same prize/size range?" I believe the SheevaPlug is a killer replacement for the NSLU2 and here's why:
- Marvell Kirkwood 6281 CPU at 1.2 GHz with 256 KB L2 cache (compared to a 266 MHz CPU)
- 512 MB RAM (compared to lousy 32 MB)
- 512 MB flash, enough for a basic Debian installation (compared to 8 MB)
- Gigabit Ethernet (compared to 100 Mb) and no proprietary microcode required
- 1x USB and 1x SD (compared to 2x USB: the only advantage the NSLU2 has)
- ... and finally: mini-USB with serial console and JTAG: while Debian on the NSLU2 works well and is stable, we regularly had users whose system would no longer boot and there was no good way to figure out why. The serial console on the SheevaPlug actually allows users to figure out what's going on.
I'm incredibly excited about the SheevaPlug and the first thing I did was to take the device apart and look at the inside. The results can be found in the SheevaPlug image gallery. My next project will be slightly more productive: porting Debian.
As I see it, we should support the following three installation variants for the SheevaPlug:
- To an external USB drive or stick.
- To an SD card.
- To the 512 MB flash memory on the device.
The first two should be relatively straight forward, but of course installing to the internal flash memory is particularly interesting given that 512 MB (plus compression) is enough for a basic installation of Debian. Unfortunately, installations to MTD flash are currently not supported in the Debian installer but I hope we can find a volunteer who wants to implement this functionality.
My next steps are to put a kernel for the SheevaPlug into the archive and to get a basic installation going. From there we can look at more sophisticated installation options and other functionality.