Debian on Cobalt

From CobaltFAQs

Jump to: navigation, search

Contribution from

HOWTO - Install Debian on an x86-based Cobalt Server Appliances
version 0.3 - Feb 25, 2003 - Joshua Uziel and Duncan Laurie

You can find a copy of this document translated into Spanish at:
Many thanks to Daniel Coletti of CaFeLUG for this!

Installing Debian on the x86-based Cobalt Server Appliances is not too
difficult.  It essentially requires doing a set of steps twice.  The
first part is to set up an nfsroot enviromnent for netbooting the
cobalt off of.  The second part is to install Debian locally on the
Appliance in question.  Performing all of this is made easy by using
Debian's "debootstrap" utility.  It is assumed that the following
procedure is being done on a Debian system.

The machine in which we perform the setup on and make an nfsroot area
on will be referred to as the "server".  The machine in which we do
the final installation will be known as the "cobalt".

This procedure has been made to work on the following systems:
RaQ3, RaQ4, RaQ XTR, RaQ 550, and the Qube3.

The one assumption is that you have a crossover serial cable with a
female db9 connector on it to talk to the cobalt's serial console.


In this part, we'll set up an nfsroot enviromnent for netbooting the
cobalt off of.  Once this is done, it can be used to install as many
cobalt appliances as desired.

1) Make sure "debootstrap" is installed on the server.

    apt-get install debootstrap

2) Install the beginnings of an nfsroot area on the server

    debootstrap --arch i386 woody /nfsroot-x86

The "woody" part is the release of debian that's desired.  The
installation _must_ go into /nfsroot-x86... and then pick your
favorite Debian mirror.

3) Edit /nfsroot-x86/etc/inittab

There are six lines for tty1 through tty6 starting with

1:2345:respawn:/sbin/getty 38400 tty1

Comment these out, and uncomment the line for ttyS0 and change to
115200 bps (from 9600) to look like:

T0:23:respawn:/sbin/getty -L ttyS0 115200 vt100

4) Edit /nfsroot-x86/etc/securetty

Add "ttyS0" to the list so that root can log in on it.

5) Copy /etc/apt/sources.list to /nfsroot-x86/etc/apt/sources.list

It should have something like:

deb http://tux.sfbay/debian stable main contrib non-free
deb stable/non-US main contrib non-free
deb stable/updates main contrib non-free

6) Chroot into /nfsroot-x86

Simple "chroot /nfsroot-x86"... this will be to set up additional
packages in the installation setup.

6a) Install whatever you need in the nfsroot

    apt-get install debootstrap alien

Install whatever tools will be helpful for the next portion of the
installation.  This can be done during the next portion as well, so no
big deal.

6b) Exit the chroot

7) Create a /nfsroot-x86/etc/fstab

It'll look something like:        /       nfs     defaults        0 0
proc                            /proc   proc    defaults        0 0

Where you substitute out the "" for the server's address.

8) NFS export /nfsroot-x86

9) Set up a DHCP server on the network


In this part, we'll install Debian locally on the Appliance(s) in

1) Upgrade the cobalt to the latest rom

Instructions for this is at

2) Set the "btoip" in the cobalt's rom

During bootup, hit the spacebar to go to the rom menu (not the boot
monitor -- 'q' out of it if you get there).  Once you're there, type
"lowlevel", then "cmos".  Set the BTO (Build To Order) server's IP
address -- in this case, the IP of the server with the /nfsroot-x86
that is NFS exported.  This is done with a command like

    btoip 192 168 0 1

Note the spaces instead of the dots separating the numbers in the

3) Boot from the network

Go back to the rom's main menu and do a "bfn".  This should hopefully
get the system completely booted up with a a login prompt.  Log in as

4) Parition and format the local disks as desired.

This will mostly occur with the "fdisk" and "mke2fs" commands.  Use
"mkswap" to initialize the swap partition.  Consult their manpages for
more information.

5) Mount the disks under /mnt as you've parititioned them.

For example, if you made a separate parition for /home, mount it under
/mnt/home after you've mounted root in /mnt, and so forth.

6) Put the initial Debian installation on the local disks

    debootstrap --arch i386 woody /mnt

The "woody" part is the release of debian that's desired.  The
installation _must_ go into /nfsroot-x86... and then pick your
favorite Debian mirror.

7) Copy files into /mnt/etc

Files to copy over are /etc/inittab, /etc/securetty and

8) Edit /mnt/etc/fstab

Make an fstab describing how you want the disks to be mounted when you
eventually boot from the disks.  An example would look like:

/dev/hda1       /       ext2    defaults,errors=remount-ro      0 1
/dev/hda2       none    swap    sw                              0 0
/dev/hda3       /home   ext2    defaults                        0 2
proc            /proc   proc    defaults                        0 0
tmpfs          /dev/shm tmpfs   defaults                        0 0

9) Copy applicable kernel files onto the disks

You can either take a cobalt kernel rpm and run "alien" on it, or grab
one of the kernels from

I like to copy the files into /mnt/root

10) Install the kernel

First, chroot into /mnt.  Then dpkg -i the kernel .deb that you want.
Make sure that you have a /boot/vmlinux.bz2 file or link, as that's
what the rom will look for at boot time.

11) Finish up

You can apt-get install anything you want now.  Be sure to exit the

That should just about do it.  Enjoy your new Debian machine.

Personal tools