So I got this machine, and decided to set it up as an Icecast server to play with…
HP NetServer 4d/66 LM
2 x AHA-2740 offboard SCSI controllers
1 x AIC-7770 onboard SCSI controller
2 x 9GB SCSI hdd
1 x SCSI CD-ROM
1 x Intel EtherExpress 16 offboard NIC
Read on for the adventure!
I acquired this old server a while ago and finally got around to working with it.
It was a bit of a challenge to get working.
Because of the age of the machine, it won't boot CDs.
I played a bit with an IDE drive in it before I decided to go debian and try to get the SCSI drives working.
I'm not going to cover the pre-debian stuff much.
I decided to go debian for a few reasons.
1. I'd never really used it. 2. This is an OLD box, so I needed something that's known to work on old stuff, but still has new packages. 3. Those crazy Lxer guys are always talking about it. ;)
Keep in my that the closest I've come to using debian before this has been looking at an Ubuntu livecd now and then.
I'm generally a gentoo geek. ;)
First off, as I was testing stuff with the machine, I found the boot loader boot floppy in the slackware disk collection.
This has been an invaluable tool during this project.
Basically, the floppy boots up and gives you a boot menu with the various bootable devices.
This allowed me to boot off an IDE DVD drive I hooked up to the box and saved me the hassle of trying to find boot floppy images (and floppy disks - I'm a bit low at the moment).
I decided to do a netinstall of debian (hey, what good is cable if you don't use it?), so I downloaded the debian stable netinstall image and burned myself a CD.
My first goal was to get a hard disk seen so I could actually do the install.
After fiddling a bit, I got annoyed and disconnected all the SCSI disks to make things easier.
After a bit of testing, I discovered that the netinstall disc did not have the modules compiled for either the onboard SCSI controller (AIC-7770) or the offboard controllers (AHA-2740).
At this point I found my collection of SCSI cards and was fortunate enough to find a not-so-shiny old aha-1520.
At first I put the controller in one of the empty ISA slots, but the machine didn't seem to like that (I haven't gone back once I had everything working to find out for sure), so I replaced the topmost offboard controller with the 1520.
This worked better.
After a bit of fiddling and finding that one of the SCSI cables didn't like me (I'm not sure if the cable is bad or semi-proprietary - I never did get it to work with any drive), I got one of the disk drives hooked up and seen by the SCSI card.
So now that I had a card that I knew had the module compiled on the debian disc, it was a matter of getting it to be seen.
The auto-detect didn't seem to see it.
What eventually did work was switching from the installer to a second console, manually loading the aha152x module, then manually running the hardware detection program.
This found the controller and the disk on it and created the proper dev entries.
Now I could actually do something!
I happily partitioned the disk (I think I said multiuser desktop. Looking back I probably should have partitioned it manually.), and did the standard minimal install (this IS a 486 after all, and destined to be a server).
Once I had debian installed and booting, it was time to do the important stuff.
I installed my standard set of console tools.
This includes ssh (of course), screen (woohoo!), and mc (who needs a gui file manager?).
I was happy to find nano was installed by default.
Now it was time to setup icecast.
At first, I just did an apt-get icecast2.
After I did that, I realized that the version in stable is a bit old.
So I added the testing repository.
After some complete weirdness with apt (install icecast2/testing wouldn't find it, but -t testing icecast2 or specifying the version would find it), I got it to generate a package list.
But there was some more weirdness here (like it wanting to remove the kernel….).
At this point I decided not to fight the stable/testing mix and just do the dist upgrade to testing.
This went smoothly (yay!).
So now I had a working debian system on a scsi hard disk on a 1520 scsi card.
Now, while not a bad thing, this isn't what I wanted.
I wanted to use the machine essentially as I got it, which means using the scsi cards it came with.
So I rolled up my sleeves and compiled the kernel apt-get sent me (2.6.18, the original install/upgrade was using 2.6.8).
I tweaked the kernel config a good bit of course.
I removed lots of unneeded stuff, and made sure the drivers for my collection of scsi cards was built in.
The compile took quite a while (um…day and a half or so I think?).
Yes, I really did do a kernel compile on a 486.
I know it would have been more expedient to hook the drive up to something newer and do it there, but I was too lazy to bother trying to install a scsi card in one of the other boxes.
After installing the new kernel and making sure it would see the cards, it was time to set it all up right.
I pulled the 1520, put the 2740 back in, and went to war.
I played with all the controllers a bit and found out which it was happiest booting from (the bottommost 2740 as it turns out).
So now I have a nicely booting box.
But I have 3 scsi controllers with only one doing anything, and a second hard disk and a cd-rom to hook up.
After more fiddling around, I decided to look for the mysterious EISA Configuration Utility.
I actually found a like to the right area on the HP support site, from which I found the page for my server and got the latest bios and the utility.
I updated the bios, and then played with the utility a bit.
Now I could actually do some configuration of the cards and such.
After some more playing around, I decided to disable the onboard controller since it just wasn't doing anything (cable? obnoxious controller? who knows).
I figured out that the second hard disk needed to be on a different controller from the first one (same ID I believe, though I don't remember actually seeing any jumpers for that on the drives).
Now I was down to the CD-ROM.
Obviously I can't corrupt a SCSI box with an IDE drive, never mind the fact that my spare is a DVD drive would be an absolute waste in a 486 server.
Unfortunately the SCSI CD-ROM in the box is a cartridge loader with no cartridge in it, so that's useless.
So once again I hit my collection of spare stuff and found a working normal style SCSI CD-ROM to hook up.
This was actually easy.
It was happy on either SCSI adapter alongside either disk drive.
Out of habit/standard configuration principle I put the disk on the second controller with the secondary hard disk.
So now that I had everything working, I mounted the drives back in the chassis, got the cables in place and such, and took pics before and after I put the case back on.
Now of course, it was time to test it.
I did a basic configuration of icecast, setup my streams, and went to testing.
My icecast setup is as follows:
Icy (the netserver) runs Icecast.
Cthulhu (the fileserver) hosts my ogg collection.
Games (vmware server box hosting my freebsd ssh gateway, occasional game box) mounts the fileserver nfs mount and runs two instances of ices2 feeding playlists to Icy.
Room (my personal workstation) runs mpd configured to send output to alsa for me and also to Icy to stream my personally controlled playlist when I want one.
I had a friend connect and test an icecast feed from outside, while I was playing from inside.
It went fine.
Icecast really uses minimal system resources.
So there you have it.
My adventure with the NetServer.
I conquered the SCSI setup and have a happily running debian playground/icecast server/sturdy stool to sit on. :)