=============================================================== 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: http://www.cafelug.org.ar/~dcoletti/Documentos/Tech/Cobalt/ 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. PART 1 ------ 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 http://mirrors.kernel.org/debian/ 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 http://non-us.debian.org/debian-non-US stable/non-US main contrib non-free deb http://security.debian.org 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: 192.168.0.1:/nfsroot-x86 / nfs defaults 0 0 proc /proc proc defaults 0 0 Where you substitute out the "192.168.0.1" for the server's address. 8) NFS export /nfsroot-x86 9) Set up a DHCP server on the network PART 2 ------ In this part, we'll install Debian locally on the Appliance(s) in question. 1) Upgrade the cobalt to the latest rom Instructions for this is at ftp://ftp-eng.cobalt.com/pub/users/thockin/2.4 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 address. 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 root. 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 http://mirrors.kernel.org/debian/ 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 /etc/apt/sources.list 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 http://cobalt.iceblink.org/debian/ 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 chroot... and MAKE SURE TO UNMOUNT THE LOCAL DISKS BEFORE YOU REBOOT. That should just about do it. Enjoy your new Debian machine.