Ok, so for my industrial experience project, an opportunity to have a server housed in an ISP’s datacenter for our source control system was made available.
What an excellent proposition, no bandwidth charges, fast link for everyone concerned (no more sharing my precious torrent upload bandwidth, ha!). The only catch, you have to install your software on an aging Cobalt 4i Rackmount Server.
Just to give you a rundown, the cobalts use an OS based on Redhat Linux 7. Not too bad, they also have an aging pkg format to install stuff on, however there aren’t many packages available nowadays for this.
So, the unit itself is great, but I do want to get svn running and apache2 to make use of committing over port 80. This meant it was time for a new distro.
Basically getting a recent linux distro to run on it is possible, but there are a couple of hoops you have to jump through.
The box we had come with a 2.3.35 rom installed. The first step was to go to the sourceforge Cobalt-ROM project and update to 2.10.3-ext3-1M rom in order to make available the bulk of the linux distro’s available to us.
Since the original cobalt site has been down for a long time, so too were the instructions of how to install the flashrom. Although its work-out-able, flashing ROM’s especially when you are going by guesses greatly increases the chances of bricking your router. Thankfully the bottom half of this page explains the steps involved. Especially making a backup of the existing rom first just in case things go awry.
Weapons of Mass Panic
W00t! Power cycling the router bought some nice new LCD graphics (ok, Kon, get a grip, they are just mono-colour pixel graphics). This allowed me to guess that the flash was successful but after a little waiting all I had on the screen was a clock icon, with Sun Cobalt written at the top and a knight rider esk cursor moving from left to right and back again. Ooops! Maybe its taking longer getting used to its new life in the new rom? Once ten mins had passed and it was still the same, I recall reading that the boot rom defaults to booting from a network. This means that there must be a way to configure it. Here was my saving grace. Hold down the S key on bootup and you’ll get to the boot options menu where you can choose to boot from disk instead of network. The network option i guess will come in handy later.
So now we have our Rom upgraded, the next step is to prepare a new distro. There are a couple of options for this. One is to use a slave PC to install the linux distro of your choice on, install some additional packages to allow the boot time stuff to kick in. There is one distro in particular CentOS which has a BlueQuartz system which basically is the open source equivalent of the Cobalts current web UI and server config management (along with the server packages themselves). This may be the most ideal option. To get the a linux distro onto your system you can do one of two things (there may be more but these seemed the most appropriate)
- Pay $85 AUD and buy Strongbolt, the CD installer for the CentOS + Bluequartz. Strongbolt is a bootable ISO that will install the updated ROM and CentOS over Ethernet.
- Install onto a PC then transfer the hard drive across. Cheap, a bit of a muckaround, but doable. If you want Bluequartz, then Nuonce have the distro as a free (and slow download)
- Null Modem serial cable< - Does anyone have these anymore?
I’ve seen Gentoo, Fedora, Debian and other distros have Cobalt installation pages dedictated to them.
I’m going with Nuonce, because of the additional packages they have available and the much less stuffing around. Beware that the installer will assimilate itself to any hard drive you have in the PC that you put the CD into. My friend unfortunately found this out the hard way.