Renovating a Dell Latitude 600 as a desktop-replacement
         - or an adventure on Ebay!


A few months ago, I spotted (this) on Ebay, and thought it would be a good way to get a cheap desktop-replacement, low-load server type thing... I had an old 40GB 2.5" disk and a couple of 128MB PC100 ram sticks lying around from previous laptop upgrades - so it seemed perfect! Also, my sister had dumped an old 15" LCD on me from when her work was clearing out rubbish - so I could turn into a real desktop if need be (after buying a keyboard/mouse)...

Well, £25 (+ £10 for the power adapter) and a week later it arrived... Then I found the Dell has some stupid propriety connector to connect the hard disk... rather than just the usually mini-IDE connectors... After trying to jimmy my drive in without success, I was forced to resort to spending another £8 on Ebay to buy the connectors...

After waiting another week, I plugged everything in, the Dell bootsplash came up... and then a loud beep followed by:
**PROCESSOR START FAILURE**
The revision of motherboard does not support the processor installed.
In vga-res white-on-black letters... hmmm what's going on... - A quick search on Google gave this:

http://www.hardwareanalysis.com/content/topic/52651

Hmmm... So, I pried open the heatsink, and guess what the S/N of the CPU was: SL53P!

Well, another SL4JZ processor on Ebay was just £5 + £5p+p, and I'd just spent £40 already., so it didn't look too bad... but I had a sinking feelling something else would be broken, and I'd end up spending lots and lots of money on this thing, when it started out as a money saver (hmmm, kind of like Che and his bikes, I guess ;)

Well, luckily, the new SL4JZ cpu slid in without a hitch and eventuall I got Linux booted! There was a small problem in that the reserve battery that's supposed to keep the NVRAM with the BIOS data (like time, boot devices, etc.) ticking along is rather near the end of its life and after the couple of weeks sitting unplugged in had died (it's 6x NiMH rechargeable button cells - Varta V15H if you're interested [no, thought you weren't but anyway ;) ] ). So this meant I had to steal a PS2 keyboard from an unsuspecting user around the office to setup the BIOS info again before booting into Linux (the BIOS is too old to recognised the USB keyboard I'd bought).

So, all it all the whole thing cost:

P+P
Dell Latitude C600 Base £19.99£5.00
Dell Latitude C600 Base £19.99£5.00
Dell Latitude Power Adapter   £4.45£5.25
Dell Lat. HDD Caddy+Connector   £2.99£5.00
Intel SL4JZ Mobile P3 processor   £3.99£3.25
Microsoft ComfortCurve Keyboard     £12.99    
PCLine USB Ball Mouse   £4.99
______________
£49.40£18.50
______
Total:£67.90

If you'd have to fork out for the hard drive, memory and LCD, you'd probably have to add another £100-150 depending on what you wanted. So, all in all it's not that much cheaper than buy/building a new(ish) desktop. The desktop-equivalent new motherboard/processor/PSU combo would cost about £85 (e.g. AMD Sempron 2800+) for a bottom of the range set or about £120 (e.g. AMD Athlon 3200) for a decent set, in comparison to the £50 that this one eventually cost.

Installing Debian GNU/Linux

As the machine has no cdrom or floppy drive, and no network card - although the BIOS does have an interesting option to boot from a PC Card NIC... - I decided to plug the old 40GB 2.5" disk into a USB caddy and plug that into my normal laptop running Gentoo. Much as I love Gentoo, the thought of compiling glibc, gcc, Xorg and company on 700MHz P3 with only 256MB memory made me shudder... so I opted for Debian instead. The partitioning scheme was:

hda1  500MB  ext2    /boot
hda2    10GB  ext3    /
hda3    28GB  reiserfs    /home
hda4     1GB swap

Then I installed Debian via instructions in Appendix D.3. of the Installation Guide (cf):

Got and built debootstrap (from here)

# mount /dev/sdb2 /mnt/debian
# cd /tmp
# wget http://ftp.debian.org/debian/pool/main/d/debootstrap/debootstrap_1.0.3.tar.gz
# tar zxvf debootstrap_1.0.3.tar.gz
# cp debootstrap/scripts/debian/sid debootstrap/scripts/sid
# DEBOOTSTRAPDIR=/tmp/debootstrap ./debootstrap/debootstrap \
          --arch i386 sid /mnt/debian http://ftp.uk.debian.org/debian

# mount -t proc none /mnt/debian/proc
# mount -o bind /dev /mnt/debian/dev

# LANG=C chroot /mnt/debian /bin/bash
# export TERM=xterm-color

# tzconfig
# vi /etc/fstab
# vi /etc/network/interfaces
# vi /etc/resolv.conf

(Copied network settings from the Gentoo files).
# echo nemesis >> /etc/hostname
# deb-src http://ftp.uk.debian.org/debian etch main
# deb http://security.debian.org/ etch/updates main
# deb-src http://security.debian.org/ etch/updates main

# aptitude install locales
# dpkg-reconfigure locales

# aptitude install console-data
# dpkg-reconfigure console-data

# aptitude install libncurses5-dev

# cd /usr/src
# wget http://ftp.de.debian.org/debian/pool/main/l/linux-2.6/linux-2.6_2.6.22.orig.tar.gz
# wget http://ftp.de.debian.org/debian/pool/main/l/linux-2.6/linux-2.6_2.6.22-4.diff.gz
# tar zxvf linux-2.6_2.6.22.orig.tar.gz
# gunzip linux-2.6_2.6.22-4.diff.gz
# cd linux-2.6-2.6.22
# patch -p0 < ../linux-2.6_2.6.22-4.diff
# make menuconfig

Select: (see http://www.rserve.biz/gentoo/kilrathi/ or http://gentoo-wiki.com/HARDWARE_Dell_Latitude_C600 )

  • Power management options (ACPI, APM) -> APM (Advanced Power Management) BIOS support
    • Enable PM at boot time
    • Allow interrupts during APM BIOS calls
    • Use real mode APM BIOS call to power off
  • Bus options (PCI, PCMCIA, EISA, MCA, ISA) -> PCCARD (PCMCIA/CardBus) support
    • 16-bit PCMCIA support
    • CardBus yenta-compatible bridge support
  • Device Drivers -> Graphics support
    • ATI Rage128 display support
    • Console display driver support -> Framebuffer Console support
    • Bootup logo
  • Device Drivers -> Sound -> Advanced Linux Sound Architecture
    • PCI devices -> ESS Allegro/Maestro3
  • Device Drivers -> HID Devices
    • USB Human Interface Device (full HID) support
  • Device Drivers -> Network device support
    • PCMCIA network device support -> NE2000 compatible PCMCIA support

  • And whatever else you need!

# make && make modules_install
# mount /boot
# cp .config /boot/config-2.6.22
# cp System.map /boot/System.map-2.6.22
# cp arch/i386/boot/bzImage /boot/bzImage-2.6.22

For some reason I could not get grub to install within the chroot environment with the disk attached as a usb-drive, and as the machine has no floppy or cdrom, I could not have actually booted the machine otherwise, so I fell back on using LILO. Also, curiously, when you put the diskinto the laptop, it somehow automatically resets the partition type flag on the first partition (hda1 here) as type 12 - "Compaq diagnostic" - and toggles off the bootable flag on that partition. So, as this was my main boot partition before, nothing happenned and it took me a while to realised this... Some sort of security 'feature' on Dell's part? In the end, I left that partition (hda1) alone and installed lilo directly on the second (root) partition and made that bootable. # aptitude install lilo
# vi /etc/lilo.conf
# lilo

# aptitude install apmd
# aptitude install pcmcia-cs
# aptitude install alsa

# vi /etc/X11/xorg.conf

Now, I just plugged the built hard disk into the Dell, and fired it up!

~/mdl/linux/c600