2022 May 3

I recently have been interested in "low cost computing," trying to answer the
question "what's the least amount of money you can pay to use a computer?" In my
investigations, I came across an eBay listing for a Dell Latitude C400. I've
always liked the Latitude line, and the current bid was only about 50 cents, so
I put a bid on it for a dollar. To my surprise, I actually won. The shipping was
a lot more pricy, but the whole thing was still about $20. The laptop arrived in
a few days, and I set off on my journey to get it operational.

The laptop came in very good condition, with very minimal scuffing or scratches,
a working power supply (with no whining!), a Linksys WPC54G v3 WiFi PCMCIA card,
and even an ethernet cable. I'm really impressed with the look and feel of the
C400, it's a very solid and sleek machine, with no sticky covers or brittle
plastics.

The first problem I encountered when I started it up was a nasty looking
password screen when I tried to access BIOS settings. At this point I was
kicking myself - it's *always* a good idea to ask if a laptop has a password
on it, *especially* if it's a business model like the Latitudes. Laptop BIOS
passwords are much harder to remove than desktop ones, you can't just remove
the CMOS battery to reset it. There are some websites that attempt to recover
the password based on a hash code displayed when the wrong password is entered,
but they don't always work.

Luckily, it was at this point I realized I had made a second mistake, and that
was that I mistook the hard drive password for a BIOS password. After I removed
the hard drive, I was able to get into the BIOS with no problems at all. The
included hard drive was the original 30GB spinning disk from 2003, and I was
planning on replacing it anyway. I installed a known-working SD-to-IDE adapter,
and with this non-issue out of the way, I proceeded to try installing an OS.

The problem with the C400 is similar to the problem I had with my ThinkPad 760XL
but worse. The C400 has no internal removable media such as a floppy or CD-ROM
drive, and the only way to add it such that it can be booted, is by using a
proprietary Dell connector with a proprietary Dell drive. Thanks, Dell. I can't
even find any of the CD-ROM drives (model 0J105) for sale outside the UK, and
even if they would ship to me, they would cost at least 3x what I payed for the
rest of the entire laptop.

I won't go through every single thing I tried here, I'll just describe what
worked, in case anyone else runs into a similar predicament. The general idea
is to put everything you need to actually install an OS on your SD card, then
use network booting to load a bootloader. I installed FreeDOS 1.3 first, then
used that to install Windows XP.

First, I downloaded the FreeDOS 1.3 live CD. This comes with the actual live CD
ISO, and a bootable floppy image. You'll need both.

Next, I downloaded the Windows XP Professional install ISO from archive.org. You
can find this with a quick web search. The archive.org page includes a working
Windows XP Professional key, but I used the one already on the laptop (piracy is
bad, guys!!!!!!!)

To prepare the SD card, I used another Linux computer to partition the SD card
with a single active, primary, bootable FAT32 partition. I then copied the
entire contents of the FreeDOS live CD onto the *root* of the partition, then
made an extra folder in the root called "winxp". Inside the winxp folder, I
copied the i386 folder from the Windows XP ISO. In order to get these files out
of their respective ISOs, I mounted the ISO directly as a loopback device so
I could access the internal iso9660 filesystem.

The SD card at this point has everything you need to install the OSs, but it
isn't bootable yet. To actually boot the laptop, I used a Raspberry Pi to set up
a PXE server using DNSMasq and PXELINUX. I configured PXELINUX to boot the
memdisk kernel, with the FreeDOS 1.3 boot image (the one included with the live
CD, *not* anything from the floppy-only install.)

With the Pi and the C400 connected to the same router via ethernet, I started
the installation process. First, I loaded the FreeDOS boot image, and if I
remember correctly it automatically started the installation. If it doesn't
automatically start it, you can exit the installer and manually run the
SETUP.BAT that you copied from the live CD. It, and all the FreeDOS installation
files, need to be on the root of the partition. In other words, you need to run
C:\SETUP.BAT, not C:\SOME\FOLDER\SETUP.BAT.

Because you are installing on to the same drive you are installing from, FreeDOS
will first delete its packages... then reinstall them. I installed the basic DOS
installation, because the full installation failed when it couldn't install some
networking package.

Once FreeDOS is installed, I rebooted the laptop off it's own hard drive, and
loaded FreeDOS with no extra drivers (no high memory or anything like that.)
From there, I went into the winxp folder from before, and ran winnt.exe from
inside the i386 folder (C:\WINXP\I386\WINNT.EXE). The reason I put the i386
folder inside another folder, is because it will unpack a lot of stuff there and
I didn't want to pollute C:\ any more than it already was.

From this point, you can just follow the Windows XP installation like normal. I
had no problems installing from FreeDOS, and it went pretty fast. One advantage
to doing this is that you'll still have FreeDOS available, in case you want a
plain DOS environment for some reason.

From there, it was easy enough to set up the rest of the system. Dell still
hosts drivers even for some of their ancient systems, so getting the drivers for
the graphics chip and other parts was super easy. Linksys isn't quite as good,
the only driver available for the WPC54G v3 was the v3.1 manager program. There
was no option on their website to download only the driver. If I was more of a
Windows nerd I could probably install the driver manually, and not put up with
their silly interface, but I'm not and I'm too lazy to learn how.

This whole process took me quite some time to discover, but once it's set up,
it's easy to reuse. Looking back, I think the reason I may have gotten this C400
for so cheap is because other bidders shied away from a system with no CD-ROM
drive, despite its otherwise great condition. Knowing how to do this could open
the door to other cheap, driveless systems in the future.

At this point, the only thing that the C400 still needs is a new battery. The
current battery only lasts for a few minutes before dying, so it's a strictly
AC-required system for now. It also runs quite hot, so maybe its thermals can be
improved somehow, but otherwise I'm very happy with this solid little machine.
In fact, it's working so completely, that I was able to connect to my WiFi
network, install PuTTY, and log into SDF to write this entire document, all from
the C400!

Unfortunately, the C400 still doesn't meet my criteria for low cost computing.
Even though the system itself was dirt cheap, and is still quite affordable even
after factoring in the SD card and SD to IDE adapter, I still needed to use two
separate computers and a router to get it working. If you didn't already have
those things, you wouldn't be able to set this machine up. Of course, making
installation media always requires a computer, but it's a lot easier to borrow
a friend's PC to burn a CD real quick, than it is to borrow a friend's PC to
install a network boot server on it and then use their network for setting up
your computer.