When I started the process, this was my uname output:
Linux oates 2.4.18-1-386 #1 Wed Apr 14 17:34:59 UTC 2004 i586 GNU/Linux
This is all I had to do:
deb http://ftp.us.debian.org/debian sarge main non-free contrib
deb http://non-us.debian.org/debian-non-US sarge/non-US main contrib non-free
# apt-get update
# apt-get --show-upgraded upgrade
Building Dependency Tree... Done
The following packages have been kept back:
honeyd libldap2 libopencdk8 lilo mutt
The following packages will be upgraded:
adduser apt apt-utils aptitude ash base-config base-files base-passwd bash
util-linux wget whiptail zlib1g
125 upgraded, 0 newly installed, 0 to remove and 5 not upgraded.
Need to get 42.9MB of archives.
After unpacking 4365kB of additional disk space will be used.
Do you want to continue? [Y/n]
# apt-get dist-upgrade
# apt-cache search kernel-image-2.4
kernel-image-2.4.27-2-386 - Linux kernel image for version 2.4.27 on 386
kernel-image-2.4.27-2-586tsc - Linux kernel image for version 2.4.27 on Pentium-
kernel-image-2.4.27-2-686 - Linux kernel image for version 2.4.27 on PPro/Celero
# apt-get install kernel-image-2.4.27-2-386
At the end of the process I added a line to /etc/kernel-img.conf to address a warning I didn't need to see in the future.
echo "do_initrd = Yes" >> /etc/kernel-img.conf
When I was done, this was my uname output:
Linux oates 2.4.27-2-386 #1 Wed Aug 17 09:33:35 UTC 2005 i586 GNU/Linux
$ cat /etc/debian_version
These steps happened without any problems. I was prompted to answer a few questions along the way, but accepting the defaults in each case was sufficient. The process only took a few hours. I am very impressed. Debian seems like an excellent choice for ancient hardware.