Adverts
I recently aquired two Compaq Proliant 1600 servers for nothing and I thought it might be fun to try and install Debian on them. The first machine I received at first glance appeared to be fairly good the second machine didn't look like it was up to much. On closer inspection the first machine (sprocket) was found to be a dual Pentium II 400 with 1GB ram and a SmartArray 221 RAID controller complete with 6 18.2GB Ultra2 SCSI drives. The second machine (boober) wasn't anywhere nearly as well spec'ed containing a lowly Pentium II 266 and 5 9.1 Ultra Wide SCSI disks. I decided sprocket would replace my ageing server and boober would be a machine to tinker with.
Installing Debian on a Compaq Proliant 1600 is much like installing it on any other machine once the hardware is ready. When I received the machines they were cleaned right down to the metal and as dumb as a brick. Unlike (modern) desktop machines these server class machines need set up software to configure the hardware. In the case of Compaq (and I assume some HP machines) this comes in the form of the SmartStart CD. This is where I hit my first snag. The CD drive didn't seem to be working. I went and dug out a few floppies and copied the bare essentials of the configuration software onto them. All the software you need can be downloaded from the Compaq / HP site. I grabbed the "Compaq System Configuration Utility V 2-58" initially. Unfortunately you need a Windows machine to make the disks. If you can I strongly suggest you try and get the CD drive working and use the SmartStart CD it's a lot simpler and less time consuming.
You will be asked if you want to install the system configuration utilities in a special partition. I decided to but probably wouldn't do it again. If you use the SmartStart CD you have access to all the same utilities. The problem with the system partition is that GRUB can't load it so you have a choice of either having GRUB installed and directly booting the OS and losing the system partition or always booting from a floppy. I decided I really didn't want to boot from a floppy. Bye bye system partition.
It turned out that the reason why the CD drive wasn't working was because the power connector had come loose. I don't know if it worked it's way free or if it had actually been unplugged for some reason but plugging it in made it work again.
Once you have configured the hardware by whatever means (system partition, floppy, cd) it's time to perform the install.
The Install
Since I had the CD drive working in sprocket I installed it using the net install cd. Boober was more troublesome the CD drive flatly refused to work so I had to install from floppy. The install process went very smoothly on both machines. The RAID controller on sprocket didn't phase the installer at all (at this stage at least - see below). On boober I decided to install the OS on one drive and software RAID together the other drives as RAID 0. I realize that I am risking data loss but the machine is a test bed only. Spocket has 5 drives in a RAID 5 with a hot spare. All nextwork cards were discovered automatically. The only strange thing was on sprocket where the on board card was set as eth1 and the expansion as eth0 - I presume there is something to do with hardware detection that I don't fully understand.
As I hinted at above the RAID controller in sprocket acted fine during the install but presented me with a bit of a problem after the install finished. For some reason the installer correctly loaded the module for the controller but then didn't compile it into the initrd image. While investigating this problem I came across a post that mentioned the installer was unable to determine that it was required which is why it was left out. Without the module in the initrd the machine basically won't boot and just dumps you a command prompt. Either way here is the definitive fix for the problem.
1) Boot from the Debian install CD and at the first prompt enter 'rescue'. You will have to redo the first bit of the install process. At some point it will stop and ask you what to do next. Choose 'execute a shell'.
2) Make a repair directory called target in the root of the installer filesystem.
mkdir target
3) Mount the drive into the repair folder. If you have produced multiple partitions you need to mount them all in the correct place under target. No parameters are necessary to mount the drive.
mount /dev/ida/c0d0p1 /target
4) Mount the drive in a chroot to provide access to the files as if you have booted from the drive.
chroot /target
5) Now you need to add 'cpqarry' into the /etc/modules and /etc/mkiniramfs/modules files. This is easier said than done as there generally isn't a text editor available at this point. The echo command is your friend. Stricltly speaking I think the module name only needs to be added to the second file but it doesn't hurt to put it in both.
echo cpqarray >> /etc/modules echo cpqarray >> /etc/mkiniramfs/modules
6) Once the module name is listed in the modules file you need to rebuild the initrd image. Under Debian this is done using:
dpkg-reconfigure linux-image-2.6.15.-1-486
Obviously you will need to provide the name of the kernel you are using. The process for other distributions varies.
7) Now exit the chroot and the command prompt to get back the the installer.
exit exit
8) Remove the install disk and reboot the machine. It should now boot from the array without problems.
Dual Processor
At first I thought sprocket was a single processor machine but after pulling the processor cage out I discovered it was in fact a dual processor machine. Although I had crawled all over the system set up for some reason it hadn't spotted the second processor. I removed the processor (sideways - sigh) and re-seated it. The system configuration software then found the processor straight away. I installed an SMP kernel but it wouldn't use the second processor. After a bit of searching I discovered the problem. I had chosen Other at the operating system type and it would seem the BIOS hides the second processor from unknown operating systems (for some unknown reason). What I hadn't realized was that the Unix OS choice is actually a menu itself from which you can choose Linux. As soon as Linux was the OS choice the second processor was detected and in use.
To check that both CPUs have been detected run the following at a command prompt:
cat /proc/cpuinfo