Debian on MIPS based Cobalt machines
Requirements
In order to install Debian 4.0 (etch) on a Cobalt machine, you need the following:
- a MIPS based Cobalt machine (Qube, RaQ, Qube2, RaQ2, Gateway Microserver) with at least 36 MB memory. (If you have less memory, see my page about low memory installations.)
- If you have a Qube 2700 (Qube 1) or RaQ1, you have to follow the manual installation to install Debian sarge. Debian etch with 2.6 kernels currently doesn't work on these machines.
- another machine (called the server from now on) on which you can install an NFS and a DHCP server and which is connected to the Internet.
Preparing the server
First, you have to install an NFS and DHCP server. While I will demonstrate in the following how to configure these services on a Debian machine, there is no special requirement that these services run on Debian. Any NFS and DHCP server will do as long as they are connected to the Internet, and they don't even have to be on the same machine (but in this case, DHCP's next-server variable has to point to the NFS server).
In order to install NFS and DHCP packages, issue the following commands as user root:
apt-get install nfs-user-server apt-get install dhcp3-server
Secondly, you have to configure the NFS and the DHCP server. You have to tell the NFS server to export a directory so the Cobalt can later access it. Edit the /etc/exports file and add a line like this:
/nfsroot 192.168.1.0/255.255.255.0(ro)
The value 192.168.1.0 has to be adapted according to the settings of your internal network. Please note, however, that the firmware expects the files to be in /nfsroot so please do not change this path. Also make sure that the IP address of your NFS server is listed in /etc/hosts, otherwise the Cobalt might fail to access the server via NFS.
After you've configured NFS, you have to configure your DHCP server. Edit /etc/dhcp3/dhcpd.conf and add an entry similar to the following:
option domain-name-servers 192.168.1.1; subnet 192.168.1.0 netmask 255.255.255.0 { range 192.168.1.10 192.168.1.100; } host cobalt { hardware ethernet 00:10:e0:0:be:5e; fixed-address 192.168.1.67; option routers 192.168.1.1; next-server 192.168.1.1; option root-path "/nfsroot"; filename "default.colo"; option host-name "cobalt"; }
You have to adapt various values: you can choose your own host name, the value of fixed-address will be the IP address of your Cobalt machine; next-server should refer to the IP of the NFS server. You might also have to specify the interface for the DHCP server to listen on in the /etc/default/dhcp3-server configuration file. Finally, you need the MAC address of your Cobalt for the hardware ethernet value. This is important to associate your machine with this entry in the configuration file. First, start the following command on your server (you need the tcpdump package for this) and make sure that you listen on the right network interface (eth0, eth1; the one the Cobalt is connected to).
tcpdump -e -i eth1
Then, start your Cobalt machine and activate network booting by pressing the left and the right cursor button on your Cobalt at the same time. The LCD should show Net booting. If it says Starting up then you were to slow and it is booting from disk. Turn it off and try again. Once it is trying to boot from the network, your tcpdump should show entries like the following. The second value is your MAC address. Once you have found the MAC address, you can turn the Cobalt off again.
23:49:02.001492 0:10:e0:0:be:5e Broadcast ip 406: 0.0.0.0.bootpc > 255.255.255.255.bootps: xid:0x61e38099 secs:5 file ""[|bootp]
Now, download and install the actual files needed for the installation:
cd $HOME wget http://ftp.nl.debian.org/debian/dists/etch/main/installer-mipsel/current/images/cobalt/nfsroot.tar.gz cd / zcat ~/nfsroot.tar.gz | tar -xvf -
Finally, restart the NFS and DHCP server to activate all changes you have made:
/etc/init.d/nfs-user-server restart /etc/init.d/dhcp3-server restart
Installing Debian
Now it's time to start the installation of Debian. Start your Cobalt and immediately press the left and right button at the same time. This will enable net booting and you should see Net booting on the display.

After a few moments you should get a boot menu on the LCD. Use the cursor key to go to Network (NFS) and press the e (enter) button:

You will then be able to choose whether you want to do the installation via SSH or by connecting a serial console. Choose one of the options and continue with the installation as follows:
- SSH: wait a few minutes for the installer to start and bring up SSH. Once it has brought up the SSH server, it will show the IP address, SSH host key and installer password on the LCD of your Cobalt. Connect to the IP address that is shown with SSH as the user installer and start the installer menu. If no IP address is shown, your DHCP server is not configured properly to send all information the Cobalt needs, such as hostname and DNS.
- Serial console: connect the null modem cable to the serial port of your Cobalt machine and start a terminal emulation program (such as minicom, cu or screen) with the settings 115200 8N1 (for example, screen /dev/ttyS0 115200).
The installation itself should be pretty standard and you can follow the installation guide. The only thing you have to keep in mind is that the Cobalt requires a boot partition of type ext2 (revision 0). This partition has to be the first primary partition. In debian-installer, you can make such a partition by choosing the ext2r0 type. Basically, you have two options: you can either have your root and boot partition on one partition (in which case it has to be the primary partition and be of type ext2r0) or you can have them on separate partitions (in which case the boot partition has to be the first primary partition and has to be of type ext2r0, and your root partition has to be any primary partition). The second way is preferred because it allows you to use a modern file system (like ext3) for your root partition (only ext2 and ext3 are allowed since XFS and ReiserFS are not compiled into the kernel).
The best solution is not to worry about making the partitions yourself but use debian-installer's guided partitioning option. It knows about Cobalt and will create a proper boot partition for you.



The installation will install CoLo, a replacement boot loader written by Peter Horton, on your boot partition. This will not replace your existing firmware boot loader, but instead the firmware will load this boot loader which in turn will start Linux. CoLo has many features the firmware boot loader does not have and doesn't have any of the firmware's restriction.
When the installation is done, it will reboot. The firmware will automatically start CoLo from your boot partition. It will display a boot menu on the LCD, and by default start Linux from disk after a few seconds if you don't press a key.

The first time Debian starts it will check the disks and reboot but after this is done Debian will automatically start and you can log in via SSH or the serial console depending on how you did the installation.
Go back to my Debian on Cobalt page.