Installing Debian Sarge on a Dell Poweredge SC240

In November 2004 we took delivery of two Dell Poweredge SC240 servers with SATA hard drives and single Xeon 2.8GHz processors intending to run them as X application servers to our office thin-client network.

Since we use Debian almost everywhere in the office I got the job of installing Debian Sarge - and it was a real balls-ache. If it helps anyone else to get around the same problems I shall document the short way through the process below. I've wasted two days messing around trying to get a working installation that has a kernel with support for the Xeon hyperthreading and the gory details of each wrong step, screaming frustration and hair-pulling will be omitted to protect the ears and morals of minors.

Step One

You probably want to have a Dell diagnostic partition on the hard drive. Ours is a single 102Gb SATA drive. Attach a monitor, mouse and keyboard to the server, then find the disk marked 'Dell OpenManage" that comes with the server and boot from it. Giggle at the fact that it's a kind of Knoppix disk running Linux (because that's what it boots into) and head for the 'System Tools' menu then select 'Create a Utility Partition'. This puts a Dell utilities partition on the hard drive which contains some diagnostics. They don't take up much room and it's probably churlish not to install them.

Once you've done that, eject the CD and file it somewhere then reboot with a Debian boot disk in the CD drive. I used the Sarge network install. These servers may have a reset button (I haven't found it yet) but pressing the power button for about six seconds forcibly powers them down and then you can press it again to restart the box.

Step Two - Installing Sarge

At the boot prompt for Sarge, type linux26 and press return. This boots the 2.6 kernel; I chose that after extensive trawling of Google suggested it's the way to go. Select your language and keyboard type and then the installer will start configuring your system. The number one problem I had was that the Sarge installer can't deal automatically with the SATA drive BUT - at this point you can switch to another console using Alt-F2 and get a shell prompt. At that point you can type modprobe ata_piix and load the driver needed to see the hard drive. Discovering that one point cost me half a day, sadly. Switch back to the installation terminal with Alt-F1 and proceed with a normal Debian installation.

I created a /boot, swap and root partitions using manual partitioning but you can do what you like.

Step Three - full configuration

When Debian tries to boot the kernel, it hangs every time the system references the hardware clock (another half day wasted tracking this down). You will install a new kernel later that doesn't suffer from this problem, but for the moment, when it hangs having muttered about the Real Time Clock Driver or Setting the System Clock type control-C and it will carry on. Eventually you get the the first configuration screen, which hangs. Switch to the second terminal with Alt-F2 and log in as root then run ps -auxw to find the process running hwclock. Kill that with signal 9 (e.g. kill -9 xxxxx where xxxxx is the PID of the hwclock process) and switch back using Alt-F1. Agree with the odd message and continue. After selecting your timezone another use of hwclock is done, causing another hang. Repeat the trick of killing it.

Yippee - now you should have a trouble-free normal install.

Step Four - Post-install configuration

The things that Sarge seems to get wrong here are the X configuration and figuring out what the network card is (the latter is bizarre, since it gets it right during the install!).

You will also find that the installed kernel has two issues. Its habit of hanging up when it talks the hardware clock is bad enough on booting (control C at least gets you out of that) but there is no remedy I know of when you try to reboot apart from a hardware reset which leaves you with an unclean shutdown. What's more, the Sarge kernel doesn't support hyperthreading which should get about another 30% out of the Xeon processor.

So, you need to install another kernel. I downloaded the 2.6.9 kernel from kernel.org and wasted A WHOLE DAY tring to make it work with hyperthreading and an initrd image. I'm forced to the conclusion that that can't be done. Non-SMP is fine, but if you try to use SMP and an initrd then it craps out with a kernel oops every time (except one rare success) failing at apparently different places arbitrarily. If you don't try to load the SCSI and SATA drivers (you need SCSI even if you are only using SATA) from an initrd image but build them in to the kernel, it all seems to work fine. To save you going crazy, here is my .configure script. Extract the kernel files from the tar archive, copy the configure script into the directory you just extracted everything into, rename the configure file to .config and then type 'make'. If all goes well you can then type


make modules_install
cp arch/i386/boot/bzImage /boot/vmlinuz-2.6.9MB-SMP
update-grub
and you should be ready to reboot into a fully working SMP kernel with hyperthreading support.

Two whole days went by discovering that all this was needed, but now it's done, our servers work. Sigh.

You will need, if your sytem is like mine, to know that you need the VESA graphics driver and the tg3 module for the network card.