Martin Michlmayr

Installing Debian on OpenRD (Base and Client)

This page explains how to use the Debian installer to install Debian 7 (wheezy) on the OpenRD platform (OpenRD-Base, OpenRD-Client and OpenRD-Ultimate).

The OpenRD has 512 MB flash memory and SATA, USB and MMC/SD card interfaces. The Debian installer doesn't currently support installations to MTD flash, but you can use it to install to a SATA disk, USB stick or MMC/SD card. In order to proceed, you will therefore need either a SATA disk (connected internally or via eSATA) or a USB stick (or disk). While USB sticks work fine, the current version of u-boot (the boot loader on the OpenRD) seems to have some trouble with USB hard disks... they will work but you may have to restart the device several times so u-boot will find the disk. There are also problems booting from USB when more than one USB device is connected.

Preparation

Make sure to connect an Ethernet cable to the GbE 0 port of your OpenRD (if you haven't already) because the installer will download files from the Internet for the installation.

Starting the Installer

First of all, you have to download the installer. Download the uImage and uInitrd and store them either on a USB stick or an TFTP server.

Now connect a mini-USB connector to System Debug in order to access the serial console. If you're running a modern Linux kernel (2.6.30.5 or higher), the serial device will be recognized automatically. If you're using an older kernel, you have to pass some parameters when loading the ftdi_sio module:

rmmod ftdi_sio
modprobe ftdi_sio vendor=0x0403 product=0x9e90

Start your OpenRD and a few seconds later you should be able to connect to /dev/ttyUSB1 with 115200 baud. If you need help accessing the serial console, see the guides for Linux or Windows and MacOS X.

When you get serial output, press a key to interrupt the boot process. First of all, you have to change a setting so the device will boot the kernel which is used by Debian.

If you have an OpenRD-Base, please issue the following commands:

setenv mainlineLinux yes
setenv arcNumber 2325
saveenv
reset

If you have an OpenRD-Client, please issue the following commands:

setenv mainlineLinux yes
setenv arcNumber 2361
saveenv
reset

If you have an OpenRD-Ultimate, please issue the following commands:

setenv mainlineLinux yes
setenv arcNumber 2884
saveenv
reset

These commands will put in the correct settings and then restart the device so the changes will take effect.

Now you can load the installer. The instructions will depend on where you want to load the installer from. Also note that you may have to replace fatload with ext2load in case you used the ext2 or ext3 filesystem on your USB stick.

Finally, start the installer:

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

The Installation

The installation itself should be pretty standard and you can follow the installation guide. The installer knows about the OpenRD and will create a bootable kernel and ramdisk at the end of the installation. The installer will also offer a partition layout that is known to work. If you want to choose a different layout, make sure that you create a small (ca. 150 MB) /boot partition with the ext2 filesystem.

When the installation is done, you have to configure u-boot so it will automatically boot Debian. Interrupt the boot process of u-boot and enter the following commands.

If you're using a SATA disk, use these commands:

setenv bootargs_console console=ttyS0,115200
setenv bootcmd_sata 'ide reset; ext2load ide 0:1 0x01100000 /uInitrd; ext2load ide 0:1 0x00800000 /uImage'
setenv bootcmd 'setenv bootargs $(bootargs_console); run bootcmd_sata; bootm 0x00800000 0x01100000'
saveenv

For USB, use this:

setenv bootargs_console console=ttyS0,115200
setenv bootcmd_usb 'usb start; ext2load usb 0:1 0x01100000 /uInitrd; ext2load usb 0:1 0x00800000 /uImage'
setenv bootcmd 'setenv bootargs $(bootargs_console); run bootcmd_usb; bootm 0x00800000 0x01100000'
saveenv

USB support in u-boot is quite flaky, so if there are problems booting from your USB device you can add ; reset at the end of bootcmd. This will cause the OpenRD to reboot when it fails to load the image and try again, until it finally manages to load it.

For MMC/SD, use this:

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

Please note that you may have to replace /uInitrd and /uImage with /boot/uInitrd and /boot/uImage depending on the way you installed Debian. By default, Debian will create a separate boot partition, so the full path to the kernel is /uImage. However, if you choose to put everything on the same partition, you have to use /boot/uImage.

Your OpenRD is now ready to boot Debian from the USB stick, MMC/SD card or SATA disk and it will automatically do so whenever you turn on your device. You can now type the following command to boot:

run bootcmd

Success

You should now have a complete Debian system running on your OpenRD. You can use apt-get and other tools to install additional software. The OpenRD is an ARM based device and the armel architecture is fully supported by Debian.

Finally, make sure to read the tips and tricks about running Debian on the OpenRD.

Go back to my Debian on OpenRD page.

If you find this site helpful, you're welcome to make a donation.