The next step in this SheevaPlug guide is installing Debian on the SheevaPlug. Default on the SheevaPlug, Ubuntu 9.04 is provided. Ubuntu 9.04 will not be supported for a very long time any more and a Ubuntu 9.10 or higher is not available. That is why I want to install Debian on the Kingston 4GB SDHC card. Please read first the article Building the system with the esata sheevaplug, if you did not do that already.

Connecting cables and card

First we need to connect all cables to the SheevaPlug: network, mini USB for serial connection. Also insert the SDHC card. After that you can also connect the power to the SheevaPlug. A green and a red led will light up.

When using Ubuntu as a desktop OS (like me), and to build up a serial console connection to the SheevaPlug via the mini USB cable, follow this guide: Setting_up_Serial_Console_Under_Linux (on /dev/ttyUSB0). For other OS’s you can find guides here: Windows and MacOS

Which Debian version

For the SheevaPlug, there are currently 2 Debian versions Debian lenny version 5 and Debian squeeze version 6. Which version you have to take is explained here: Lenny-installer. I will take the Debian squeeze version 6. You can download the squeeze version here: SheevaPlug Debian squeeze. Download both files: ulmage and ulnitrd. If you would like to choose the older lenny, you can find it here: SheevaPlug Debian lenny. Put the 2 files in the root of an USB stick. Edit 13 oct 2011: The Debian lenny version is not available anymore, just take Debian squeeze.

Entering U-Boot

Start PuTTY connected to the serial cable. The eSATA SheevaPlug is already powered on, press enter to see a login prompt. Login as: root, password: nosoup4u When logged in reboot the SheevaPlug:

$ reboot

After that the eSATA SheevaPlug will reboot and comes up with U-Boot. Quickly press a key to enter the U-Boot program. If everything went well, you will see the following prompt:


First check if you U-Boot version is ok, by using the following command:

Marvell>> version U-Boot 1.1.4 (Jul 14 2009 - 06:46:57) Marvell version: 3.4.16

If you have the same version (or higher) it is not likely you need to upgrade. I am using the firmware like it was when delivered.

Now change the settings for using Debian:

Marvell>> setenv mainlineLinux yes
Marvell>> setenv arcNumber 2678
Marvell>> saveenv
Marvell>> reset

The Debian installation wizard

The SheevaPlug will reboot again, when booting up press a key again to go into U-Boot. Now insert the USB stick with the two downloaded images in the SheevaPlug and enter the following commands:

Marvell>> usb start 
Marvell>> fatload usb 0:1 0x00800000 /uImage 
Marvell>> fatload usb 0:1 0x01100000 /uInitrd

To start the Debian installer, enter the following commands:

Marvell>> setenv bootargs console=ttyS0,115200n8 base-installer/initramfs-tools/driver-policy=most
Marvell>> bootm 0x00800000 0x01100000

In the Debian installation wizard choose:

  • Language: English
  • Your country
  • Default locale: United States - en_US.UTF-8
  • Your hostname
  • Your domain name
  • The Debian mirror (I choose the one with the lowest ping times:
  • Guided partitioning->Guided - use entire disk->MMC/SD card->All files in one partition->Finish partitioning->Yes
  • Now the partitioning and installation of the core will start, this will take a while
  • Select the software you would like to install. Remark: If you would like to install LAMP (Linux, Appache, MySQL, PHP) do not select ‘Web server’ and ‘SQL database’. You need to do this by hand. Default PostgreSQL will be installed instead of MySQL. For difference between two databases see:
  • Depending on your selection, the package installation and configuration takes also some time.
  • When the installation is ready it will wait for pressing Continue
  • The SheevaPlug will reboot, when booting up, stop the U-Boot again by pressing a key.

Automatic boot from the SDHC card

Currently the SheevaPlug still boots from the original (Ubuntu) internal flash, but we want to boot from the SDHC card. Enter the following commands to boot Debian from the SDHC card:

Marvell>> setenv bootargs_console console=ttyS0,115200
Marvell>> setenv bootcmd_mmc 'mmcinit; ext2load mmc 0:1 0x00800000 /uImage; ext2load mmc 0:1 0x01100000 /uInitrd'
Marvell>> setenv bootcmd 'setenv bootargs $(bootargs_console); run bootcmd_mmc; bootm 0x00800000 0x01100000'
Marvell>> saveenv
Marvell>> run bootcmd

The next step, installing Debian!

Now we are ready to do the basic installation and configuration of Debian, this article is how to do that: Basic Debian installation and configuration

Problem with booting Debian on power up

Problem with booting Debian on power up? Read this article: Sheevaplug boot from SD card fails on power up

SheevaPlug resource: