11.4. Colo-1.22

This bootloader is for the MIPS based cobalt servers RaQ, RaQ2, Qube, or the Qube2.

11.4.1. Installation of Colo

This patch updates the Colo bootloader to build under cross-compiled conditions:

patch -Np1 -i ../colo-1.22-make_fix-1.patch

This patch fixes a relocation error when linking with Binutils:

patch -Np1 -i ../colo-1.22-relocation_fix-1.patch

Compile the Colo package:

make CROSS_COMPILE="${CLFS_TARGET}-" binary
make CROSS_COMPILE="${CLFS_TARGET}-" tooldirs

Install the package:

install -v tools/lcdtools/e2fsck-lcd/e2fsck-lcd ${CLFS}/sbin
install -v tools/lcdtools/e2fsck-lcd/e2fsck-lcd.8 ${CLFS}/usr/man/man8
install -v tools/lcdtools/paneld/paneld ${CLFS}/sbin
install -v tools/lcdtools/paneld/paneld.8 ${CLFS}/usr/man/man8
install -v tools/lcdtools/putlcd/putlcd ${CLFS}/sbin
install -v tools/lcdtools/putlcd/putlcd.8 ${CLFS}/usr/man/man8
cp -v chain/colo-chain.elf ${CLFS}/boot/vmlinux
gzip -9 ${CLFS}/boot/vmlinux

11.4.2. Configuration of Colo

Your shiny new CLFS system is almost complete. One of the last things to do is ensure you can boot it. The instructions below apply only to Cobalt RaQ1/RaQ2/Cube2 servers. Information on “boot loading” for other architectures should be available in the usual resource-specific locations for those architectures.

Boot loading can be a complex area, so a few cautionary words are in order. Be familiar with the current boot loader and any other operating systems present on the hard drive(s) that need to be bootable. Make sure that an emergency boot disk is ready to “rescue” the computer if the computer becomes unusable (un-bootable).

Earlier, we compiled and installed the Cobalt boot loader software in preparation for this step. Now we will configure our system to boot using Colo. Here is a simple default.colo to use.

cat > /boot/default.colo << EOF
#:CoLo:#
#
# load linux
#
lcd 'Booting 2.6.38.2...'
load vmlinux-2.6.38.2.gz
execute root=/dev/hda2 console=ttyS0,115200 ide1=noprobe
EOF

The FHS stipulates that the bootloader's configuration file should be symlinked to /etc/{Bootloader Name}. To satisfy this requirement for Colo, issue the following command:

mkdir -v ${CLFS}/etc/colo &&
ln -sv ../boot/colo/default.colo ${CLFS}/etc/colo

11.4.3. Kernel Configuration for Colo

To help keep our system small Colo allows us to compress our kernel. The followings step will show you how to compress the kernel the way colo expects it:

gzip -9 ${CLFS}/boot/vmlinux-2.6.38.2

11.4.4. Contents of Colo

Installed programs: colo-chain.elf, e2fsck-lcd, paneld and putlcd

Short Descriptions

colo

Is the Cobalt Bootloader's chain mode executeable. This file gets gzipped and renamed to vmlinux.gz, so it can be booted automatically by the Cobalt's existing firmware

e2fsck-lcd

Will output file system check progress information on the Cobalt LCD

paneld

Is an admin tool for the LCD panel of Cobalt machines. By default, it will display the current time and optionally a message. When you hold the enter or select button for a couple of seconds you will get an admin menu. The menu will allow you to either halt or reboot your Cobalt machine

putlcd

Is a tool to display text on the LCD display of Cobalt machines