|
Fedora Core 3 (or 4 or 5) on a Cobalt RAQ 3 (or 4)
PLEASE NOTE: This guide is almost finished, but not quite, once ive added the last few notes, it will be finished, complete with making the lcd work with the buttons, i just
need to type it up is all :)
Foreword
I have adapted this procedure from the excellent guide available at http://www.dincom.co.uk/bq/, (small parts of this guide have been
shamelessly ripped from the dincom site to save me typing it all out again, because i wouldnt be doing this if i had to type it all ;)). I didnt want to use bluequartz on
my cobalts, as all i am using them for is for slave nameservers and backup mx. There is nothing to stop you taking this guide and then continuing by installing bluequartz,
but i wont be covering this.
Step 1 - Prepare hardware and software for install
The aim of this procedure is to make a single drive that can be swapped into a RaQ3/4 following it's firmware/BIOS update. This procedure relies on the successful BIOS/ROM
update to version cobalt-2.10.3-ext3-1M.rom. For more info in Rom updates, see the links at the bottom of this page.
The serial/com port is required for console connection during the procedure. The appliance should therefore be configured and TESTED with the console connection.
Download and burn the 3x iso's of Fedora Core 3 (or 4 or 5) for the Intel x86 (i386) architecture. Select a mirror site from
http://fedora.redhat.com/Download/mirrors.html.
A number of extra files will be required near the end of the procedure. I have created a tarball file with all files required. we'll cover this nearer the time ;)
We are almost ready to start the ball rolling now, but before we do so, we need to pull the harddrive from the cobalt, so remove the 12 or so screws from the casing
and pull the drive out of the machine, and then install this into your slave machine to be installed on.
Step 2 - Base Install of Fedora Core 3 (or 4 or 5) on slave machine
I used a PIII machine to install from, so i dont think the architecture you use to install from matters a great deal. We will basically be installing a minimal machine
(plus the devlopment tools if you want to compile your own kernel).
Here follows the install notes, in a quick and simple note form, anyone even attempting this install, would id imagine, be pretty confident at installing linux.
- Boot the slave machine with CD1.
- At the 'boot:' prompt, press Enter (or type 'linux text' if you want to use the text install mode).
- Skip the CDROM test.
- Choose your language (English).
- Choose your keyboard layout (uk).
- Clear the welcome screen.
- Choose the install type (custom)
- Choose your partitioning method (disk druid)
- Create the partitions (i use the following;)
- 100Mb ext3 /boot
- 1024Mb swap swap
- *Mb ext3 /
- Choose your boot loader (none).
- Configure networking for eth0 (DHCP/Static).
- Configure the hostname (hostname.domain.com).
- Configure the firewall (None at this stage, iptables can be configured later).
- Configure your language (English (Great Britain), remove English (United States)).
- Configure your timezone (Europe/London).
- Configure the root password (yeah right ;))
- Choose rpm packages (deselect all apart from 'Domain Name Server' and 'Development Tools', obviously choose to suit your needs).
- Click OK to continue
- Change CD's as necessary
- INSTALL COMPLETE :D
Installation onto the disc is now complete, however before we can put this disc back into the cobalt machine, we need to do a little config work.
- Reinsert CD1
- Choose reboot
- At the 'boot:' prompt, type 'linux rescue'.
- Choose your language (English).
- Choose your keyboard layout (uk).
- Configure networking (yes).
- Configure networking for eth0 (DHCP/Static).
- Setup will search for the install, and mount it under '/mnt/sysimage/'
- choose 'OK' to drop to the rescue shell.
Step 3 - Getting ready for the RaQ
The system has now been booted into rescue mode, we will use rescue mode to make any adjustments necessary to get Fedora to work on the Cobalt hardware. Including compiling
a custom kernel shoudl you require it.
- chroot /mnt/sysimage
- rm /etc/modprobe.conf
- cd /tmp
We're now going to download all of the files we need to complete this stage, you can either download them in one large tarball from my server here, or you can downlaod them
individually from their respective sources;
- Download the single tarball;
- wget http://www.unstable.org.uk/cobalt/files/files.tar.gz (67Mb)
- tar zxvf ./files.tar.gz
or,
- Download the individual packages;
- wget ftp://ftp.kernel.org/pub/linux/kernel/v2.6/linux-2.6.16.tar.gz (49Mb)
- wget ftp://www.404ster.com/pub/gentoo-stuff/patches/cobalt-kernel-2.6.x/configs/gen_iii-minimal.config (28Kb)
- wget ftp://www.404ster.com/pub/gentoo-stuff/patches/cobalt-kernel-2.6.x/linux-cobalt-2.6.16.2006032101.illogical.patch (224Kb)
- wget http://www.unstable.org.uk/cobalt/files/kernel.tar.gz (1.5Mb)
- wget http://www.unstable.org.uk/cobalt/files/modules.tar.gz (424Kb)
- (FC3 only) wget ftp://ftp.tu-chemnitz.de/pub/linux/fedora-core/3/i386/os/Fedora/RPMS/glibc-2.3.3-74.i386.rpm (4.3Mb)
- (FC3 only) wget ftp://ftp.tu-chemnitz.de/pub/linux/fedora-core/3/i386/os/Fedora/RPMS/openssl-0.9.7a-40.i386.rpm (1.1Mb)
- (FC4 only) wget ftp://ftp.tu-chemnitz.de/pub/linux/fedora-core/4/i386/os/Fedora/RPMS/glibc-2.3.5-10.i386.rpm (4.3Mb)
- (FC4 only) wget ftp://ftp.tu-chemnitz.de/pub/linux/fedora-core/4/i386/os/Fedora/RPMS/openssl-0.9.7f-7.i386.rpm (1.3Mb)
- (FC5 only) wget ftp://ftp.tu-chemnitz.de/pub/linux/fedora-core/5/i386/os/Fedora/RPMS/glibc-2.4-4.i386.rpm (4.2Mb)
- (FC5 only) wget ftp://ftp.tu-chemnitz.de/pub/linux/fedora-core/5/i386/os/Fedora/RPMS/openssl-0.9.8a-5.2.i386.rpm (1.5Mb)
- wget ftp://ftp.cobalt.com/pub/products/raq550/RPMS/panel-utils-5.0.6-13.i386.rpm (36Kb)
- wget ftp://ftp.cobalt.com/pub/products/raq4/RPMS/panel-scripts-pacifica-1.1-2.noarch.rpm (8Kb)
- wget http://www.unstable.org.uk/cobalt/files/lcd_scripts.tar.gz ??kb
Now that we have all the files we need to continue, lets get started;
- (FC3 only) rpm -ivh --force ./glibc-2.3.3-74.i386.rpm
- (FC4 only) rpm -ivh --force ./glibc-2.3.5-10.i386.rpm
- (FC5 only) rpm -ivh --force ./glibc-2.4-4.i386.rpm
- rm -rf /lib/i686
- (FC3 only) rpm -ivh --force ./openssl-0.9.7a-40.i386.rpm
- (FC4 only) rpm -ivh --force ./openssl-0.9.7f-7.i386.rpm
- (FC5 only) rpm -ivh --force ./openssl-0.9.8a-5.2.i386.rpm
- rpm -ivh ./panel-utils-5.0.6-13.i386.rpm
- rpm -ivh ./panel-scripts-pacifica-1.1-2.noarch.rpm
- mknod /dev/lcd c 10 156
- mkdir /etc/locks
We now need to edit out the terminal tty's and add the serial tty to the inittab and securetty files;
- vi /etc/securetty
console
ttyS0
(add the above lines, if they're not already present)
- vi /etc/inittab
#1:2345:respawn:/sbin/mingetty tty1
#2:2345:respawn:/sbin/mingetty tty2
#3:2345:respawn:/sbin/mingetty tty3
#4:2345:respawn:/sbin/mingetty tty4
#5:2345:respawn:/sbin/mingetty tty5
#6:2345:respawn:/sbin/mingetty tty6
S0:2345:respawn:/sbin/agetty -L ttyS0 115200 vt100
I had problems with the /dev/console entry being made by udev, and udev isnt started until after the console needs to work, so the following is a workaround;
- mkdir /tmp/dev
- mount --move /dev /tmp/dev
- /sbin/MAKEDEV null console zero
- mount --move /tmp/dev /dev
We now have two choices for kernel installation, the first and easiest option is to use the precompiled kernel i have made, the second is to compile your own kernel
- Install the precompiled kernel;
- cd /boot
- tar zxvf /tmp/kernel.tar.gz
- cd /lib/modules
- tar zxvf /tmp/modules.tar.gz
or,
- Compile your own kernel;
- cd /usr/src
- tar zxvf /tmp/linux-2.6.16.tar.gz
- patch -p1 < /tmp/linux-cobalt-2.6.16.2006032101.illogical.patch
- cp /tmp/gen_iii-minimal.config linux-2.6.16/.config
- cd ./linux-2.6.16
- make menuconfig
- Configure any extra items into the kernel (such as iptables/RAID support)
- make vmlinux modules modules_install
- strip vmlinux
- bzip2 vmlinux
- mv vmlinux.bz2 /boot
Step 4 - Booting the New operating system in the RaQ
You are now done with the slave machine, and the drive can be returned to the cobalt and secured into place, as well as the lid being put back on the machine :) There
is a small amount of config left to do on your newly installed cobalt, for this, we will need to connect to the Com1 port of the cobalt, with a null modem cable.
For this connection we will use hyper terminal, configure to the correct pc come port and with the communication settings set to 115200, 8-N-1
- Have your hyper terminal connection ready.
- Turn on the cobalt (the hyper terminal should start to display ROM/Hardware info.
- The screen will state 'Press Spacebar to enter ROM Mode'.
- At the 'main>' prompt, type 'boot' and press Enter.
- At the 'boot>' prompt, type 'set_boot_dev hda1' and press Enter (hda1 is the /boot partition for earlier on).
- At the 'boot>' prompt, type 'set_root_dev hda3' and press Enter (hda3 is the / partition for earlier on).
- At the 'boot>' prompt, type 'set_boot_type disk' and press enter.
- At the 'boot>' prompt, type 'main' and press Enter.
- At the 'main>' prompt, type 'quit' and press Enter.
The kernel will now extract from the ROM, the shortly after that, the newly installed kernel will extract and boot off of the disk. During the boot, there may be a couple
of small error messages, but nothing major that will stop the machine booting (i didnt have any errors myself).
Kudzu will run and will prompt to remove hardware that was in the original slave machine, which is no longer instaled in the cobalt (such as network and sound). Kudzu will
also ask to configure the ethernet controllers inside the cobalt.
The machine will continue to boot and start any services it needs to, and you will then be prompted with a login prompt. You should login with the username root
and the password you set earlier during the install process.
Step 5 - Final configuration
We now have a working system, if you have connected this machine to the network, it can be admin'd over ssh rather than the terminal, or you can complete these steps over the
terminal. This last section, is for disabling any uneded services, and for updating the systems packages to make sure everything is up-to-date.
TO BE FINISHED
References/Credits
|