Cobalt XTR – My Evil Server
by admin on Dec.03, 2008, under Linux
Whilst cleaning out a rack of derelict servers in our data center the other day I happened across an old box which had dual 1Ghz PIII coppermine CPUs. Ahh I thought – how nice would it be to upgrade my Cobalt XTR from a single to a dual CPU system.
Opening up my XTR I quickly removed the “Single CPU Only. Warranty Voided if removed” sticker and slapped in both CPUs. Silly sticker.
And so it began . . .
Let me save you some time, if you have an XTR, don’t bother trying dual CPUs, the bottom line is it will not work. In my case it wouldn’t even POST. But the fun did not simply end there.
After failing to get it to do other than kernel panic or freeze with both CPUs I returned to using just one. Only to discover it was now apparently bricked – it would not really power on and the LCD display would illuminate, and flicker weakly, but that is where the show ended. Great.
I put the original CPU back in and removed the CMOS battery – thinking clearing any nonvolatile settings might be good. This did unbrick it and it would now power on at least.
The next little discovery was it would boot the stage one Linux kernel, but then end with the error:
Kernel panic: VFS: Unable to mount fs on 03:10 (some time given)
(You have to connect to the XTR via serial connection, 11500 bps – no video card. My trusty new Acer Aspire One came in quite handy for this!)
Now this was perplexing. You see, the Cobalt does not use Grub – it actually uses an embedded Linux method which acts as the boot loaded. A Linux kernel, embedded in firmware, boots first and then boots the user OS. So why was this happening? Using the front panel controls I tried to ensure the correct boot device was specified. I just got more of the same or perhaps “missing superblock” if trying an incorrect volume, etc.
DeleteĀ postPerhaps the drive was bad? (We had just had a power outage so there was a possibility.) However smartctl showed the drive health to be fine. I cleaned it up with an fsck and tried again. Same result.
Now, this was getting a bit frustrating. I Googled around and saw a post where a guy said he passed an init option to the first stage kernel. How? You can’t edit anything as that kernel is in ROM. But then I discovered there is an option to enter a mini terminal session during the first stage Linux boot process! Who knew?
Lo and behold – this menu offers a series of modes you can enter to configure various boot type options. By going into the ‘boot’ menu and typing ‘help’ I found the settings I needed:
read_root_dev, read_boot_dev, set_root_dev and set_boot_dev were what I needed.
I was able to set my root and boot devices to hde1 (Strongbolt calls hda hde for some strange reason) and then issue a bfd (boot from disk) and it then correctly found and loaded my OS kernel! Happiness at bringing my little Cobalt back to life!
Wow, how esoteric! Using a serial connection and terminal emulator (putty) to access the embedded Linux console to specify the boot options so it would find my OS. Sure makes a grub.conf look like a welcome site.
Well, the end of the story is that I did upgrade the memory using two 512MB sticks I pillaged from the derelict server in addition to the CPUs, upping it from its impressive 512MB to a grandiose 1.5GB – a nice 300% increase. And I bumped up from a 933Mhz to a 1Ghz PIII. Wow, it’s almost nearly cutting edge for 10 years ago.
The memory will certainly come in handy. I find it amazing how we offer dedicated servers to clients with 2.8 Dual Xeons, or dual Quad Core P4s with 8 and 16GB memory and terrabyte drives, etc. People always want the latest and greatest technology. But I rather like being a technological anacronist – using “ancient” technology today and what do you know – it actually works great. It’s amazing how many services I run on this little box – and it runs them fantastically well, and that was with 512MB – now with 1.5GB, let the big MySQL queries roll! Some day, I may upgrade to a sever with fancy things like a video card and a Quad Core CPU – but for now, I am glad I got the old Cobalt back up – may it live another 10 years.
Oh, I even put the “Single CPU Sticker” back on the slot. You know, for the next guy . . .
Leave a Reply
You must be logged in to post a comment.
January 1st, 2010 on 9:25 pm
You ran into bad bad luck with the XTR. I found a 2nd 900 CPU for my and popped it in and it recognized it right away. I did have a bit of trouble with the drives. As I filled it so I had 4 drives. I thought I matched them. But it choose them in different order than I thought so it kept trying to mirror different size drives. ugh! finally just pull the extra 2 drives. Yup, found an old P3 600 on the shelf and was surprise that with the small amount of memory it had it ran surprisingly fast š
Wild
January 6th, 2010 on 10:18 pm
Hey there Wild,
That’s great you were able to get the 2nd CPU running – my board revision definitely didn’t like it. Apparently, from the research I did it was a design change late in the development of the XTR, too bad it was not implemented earlier so they all supported it. But like you, I found the the server to run surprisingly well for what it is. Unfortunalty I just had the power supply die in it, and am trying to hunt one up someplace. We might have another old XTR lurking about the shadows someplace at work, I really don’t want to pay $90 for one on ebay. Unless some nice reader out there would care to donate one . . .
Good luck with your XTR and thanks for stopping by!
Cheers