Postmortem on a Cobalt RaQ4 install/upgrade

Obligatory Cobalt RaQ Links

Oddly enough, installing Linux on a Cobalt RaQ 1 or 2 is easier than installing Linux on a Cobalt RaQ 3 or 4, dispite the 1/2 not being an Intel based machine.

But yesterday, as I was lying face down on my bloodied keyboard [10], I suddenly realized that Smirk was telling me something. “Sean,” he said. “you don't have to get Apache running on the firewall.”

I had gotten close yesterday—with Wlofie's help the night before, we were able to recover one of the RaQ4s with it's initial distribution, and I had gotten a Linux 2.4 kernel and iptables installed and running. It was only getting Apache running that I did a horrible mistake: I mounted the working drive in my workstation! That right there was a monumental mistake.

You see, the Cobalt RaQ firmware (which is responsible for loading Linux off the disk) only supports an ext2 revision 0 file system and the fact of my just mounting said drive (for write access no less) “fixed” it so that it was no longer a revision 0 file system. In fact, I'm not sure what exactly happened, but the upshot of mounting a filesystem formatted under Linux 2.2 onto a Linux 2.6 system munged every symbolic link on the file system. Move the drive back to the Cobalt RaQ, and attempt to load Apache, I kept getting stuff like: Apache: libfoo.so not found. I then check to see what's up:

>
```
-rw-r--r-- 1 root root 120184 Mar 28 2000 libfoo.a
lrwxrwxrwx 1 root root 11 Jul 14 14:44 libfoo.so
-rw-r--r-- 1 root root 120528 Mar 28 2000 libfoo.so.1
```

Well, libfoo.so is there, but it should look like:

>
```
-rw-r--r-- 1 root root 120184 Mar 28 2000 libfoo.a
lrwxrwxrwx 1 root root 11 Jul 14 14:44 libfoo.so -> libfoo.so.1
-rw-r--r-- 1 root root 120528 Mar 28 2000 libfoo.so.1
```

And it wasn't just one or two symbolic links, but (at least in /usr/lib) every symbolic link was borked in this manner.

What I did next only made things worse (resulted in the “kernel panic: counldn't find init” error) so I won't bother going into detail about that.

No, what eventually worked was the following:

That last step, “reconfigure as required” may take a while. It may include stuff like downloading the source for such packages as ssh [11], Apache [12], MySQL [13], extracting the files, and doing the magical incantation:

>
```
./configure
make
make install
```

a few times over the next few days (since I had already done this step before a few months ago, I could just copy the existing binaries).

[1] http://www.cyrius.com/debian/cobalt/sarge.html

[2] http://www.linux-mips.org/wiki/index.php/Cobalt

[3] http://www.hockin.org/~thockin/cobalt-hack-faq.html

[4] ftp://ftp-eng.cobalt.com/pub/users/thockin/2.4

[5] http://www.gurulabs.com/rhl-cobalt-howto/

[6] http://cobalt.iceblink.org/debian/debian-cobalt-howto.txt

[7] http://www.webhostingtalk.com/archive/thread/35324-1.html

[8] http://www.netbsd.org/Ports/cobalt/

[9] http://www.zinkwazi.com/tools/qube2/1.html

[10] /boston/2005/07/14.1

[11] http://www.openssh.org/

[12] http://httpd.apache.org/

[13] http://www.mysql.org/

Gemini Mention this post

Contact the author