5.1. Booting the Installer on ARM

5.1.1. Booting from TFTP

Booting from the network requires that you have a network connection and a TFTP network boot server (DHCP, RARP, or BOOTP).

The installation method to support network booting is described in Section 4.3, “Preparing Files for TFTP Net Booting”.

5.1.2. Booting from CD-ROM

The easiest route for most people will be to use a set of Debian CDs. If you have a CD set, and if your machine supports booting directly off the CD, great! Simply insert your CD, reboot, and proceed to the next chapter.

Note that certain CD drives may require special drivers, and thus be inaccessible in the early installation stages. If it turns out the standard way of booting off a CD doesn't work for your hardware, revisit this chapter and read about alternate kernels and installation methods which may work for you.

Even if you cannot boot from CD-ROM, you can probably install the Debian system components and any packages you want from CD-ROM. Simply boot using a different media, such as floppies. When it's time to install the operating system, base system, and any additional packages, point the installation system at the CD-ROM drive.

If you have problems booting, see Section 5.4, “Troubleshooting the Installation Process”.

5.1.3. Booting from Firmware

There is an increasing number of consumer devices that directly boot from a flash chip on the device. The installer can be written to flash so it will automatically start when you reboot your machines.


In many cases, changing the firmware of an embedded device voids your warranty. Sometimes you are also not able to recover your device if there are problems during the flashing process. Therefore, please take care and follow the steps precisely. Booting the NSLU2

There are three ways how to put the installer firmware into flash: Using the NSLU2 web interface

Go to the administration section and choose the menu item Upgrade. You can then browse your disk for the installer image you have previously downloaded. Then press the Start Upgrade button, confirm, wait for a few minutes and confirm again. The system will then boot straight into the installer. Via the network using Linux/Unix

You can use upslug2 from any Linux or Unix machine to upgrade the machine via the network. This software is packaged for Debian. First, you have to put your NSLU2 in upgrade mode:

  1. Disconnect any disks and/or devices from the USB ports.

  2. Power off the NSLU2

  3. Press and hold the reset button (accessible through the small hole on the back just above the power input).

  4. Press and release the power button to power on the NSLU2.

  5. Wait for 10 seconds watching the ready/status LED. After 10 seconds it will change from amber to red. Immediately release the reset button.

  6. The NSLU2 ready/status LED will flash alternately red/green (there is a 1 second delay before the first green). The NSLU2 is now in upgrade mode.

See the NSLU2-Linux pages if you have problems with this. Once your NSLU2 is in upgrade mode, you can flash the new image:

sudo upslug2 -i di-nslu2.bin

Note that the tool also shows the MAC address of your NSLU2, which may come in handy to configure your DHCP server. After the whole image has been written and verified, the system will automatically reboot. Make sure you connect your USB disk again now, otherwise the installer won't be able to find it. Via the network using Windows

There is a tool for Windows to upgrade the firmware via the network. Booting the SS4000-E

Due to limitations in the SS4000-E firmware, it unfortunately is not possible to boot the installer without the use of a serial port at this time. To boot the installer, you will need a serial nullmodem cable; a computer with a serial port[2]; and a ribbon cable with a male DB9 connector at one end, and a 10-pin .1" IDC header at the other[3].

To boot the SS4000-E, use your serial nullmodem cable and the ribbon cable to connect to the serial port of the SS4000-E, and reboot the machine. You need to use a serial terminal application to communicate with the machine; a good option on a Debian GNU/Linux is to use the cu program, in the package of the same name. Assuming the serial port on your computer is to be found on /dev/ttyS0, use the following command line:

cu -lttyS0 -s115200

If using Windows, you may want to consider using the program hyperterminal. Use a baud rate of 115200, 8 bits word length, no stop bits, and one parity bit.

When the machine boots, you will see the following line of output:

No network interfaces found

EM-7210 ver.T04 2005-12-12 (For ver.AA)
== Executing boot script in 1.000 seconds - enter ^C to abort

At this point, hit Control-C to interrupt the boot loader[4]. This will give you the RedBoot prompt. Enter the following commands:

load -v -r -b 0x01800000 -m ymodem ramdisk.gz
load -v -r -b 0x01008000 -m ymodem zImage
exec -c "console=ttyS0,115200 rw root=/dev/ram mem=256M@0xa0000000" -r 0x01800000

After every load command, the system will expect a file to be transmitted using the YMODEM protocol. When using cu, make sure you have the package lrzsz installed, then hit enter, followed by the “~<” escape sequence to start an external program, and run sb initrd.gz or sb vmlinuz.

Alternatively, it is possible to load the kernel and ramdisk using HTTP rather than YMODEM. This is faster, but requires a working HTTP server on the network. To do so, first switch the bootloader to RAM mode:

fis load rammode

This will seemingly restart the machine; but in reality, it loads reboot to RAM and restarts it from there. Not doing this step will cause the system to hang in the necessary ip_address step that comes next.

You will need to hit Ctrl-C again to interrupt the boot. Then:

ip_address -l -h
load -v -r -b 0x01800000 -m http /initrd.gz
load -v -r -b 0x01008000 -m http /zImage
exec -c "console=ttyS0,115200 rw root=/dev/ram mem=256M@0xa0000000" -r 0x01800000

Where is the IP address of the installed system and the IP address of the HTTP server containing the kernel and ramdisk files.

The installer will now start as usual.

[2] A USB serial converter will also work.

[3] This cable is often found in older desktop machines with builtin 9-pin serial ports.

[4] Note that you have only one second to do so; if you miss this window, just powercycle the machine and try again.