Debian installer for OpenRD
This page explains how to use the Debian installer to install Debian 12 (bookworm) 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 version of u-boot (the boot loader on the OpenRD) shipped with this device 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.
Upgrading U-Boot
You have the option to install a new version of the u-boot boot loader but this step is optional. Please visit the page describing the u-boot upgrade process if you want to use a modern u-boot provided by Debian.
Starting the Installer
First of all, you have to download the installer and store them either on a USB stick or a TFTP server. Please download the installer images for your device:
- OpenRD-Base: uImage and uInitrd
- OpenRD-Client: uImage and uInitrd
- OpenRD-Ultimate: uImage and uInitrd
Now connect a mini-USB connector to System Debug
in order to access the
serial console. Start your OpenRD and a few seconds later you should be able to connect to
/dev/ttyUSB1
with 115200 baud.
When you get serial output, press a key to interrupt the boot process.
If you use the original Marvell u-boot (but not if you use modern DENX u-boot), you have to configure u-boot 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.
- USB: If you stored the installer on a USB stick, please use:
usb start fatload usb 0:1 0x01100000 /uInitrd fatload usb 0:1 0x00800000 /uImage
- TFTP: if you want to load the installer via the network from a TFTP
server, use this:
setenv serverip 192.168.1.2 setenv ipaddr 192.168.1.147 tftpboot 0x01100000 uInitrd tftpboot 0x00800000 uImage
192.168.1.2
with the IP address of your TFTP server.
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 '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
If you use the original Marvell u-boot, you have to add mmcinit
to bootcmd_mmc
:
setenv bootcmd_mmc 'mmcinit; ext2load mmc 0:1 0x01100000 /uInitrd; ext2load mmc 0:1 0x00800000 /uImage' 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
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.