To expand on what evo2 posted above. You need to change your sources.list to track the debian archive e.g. :
Code:
#
# deb cdrom:[Debian GNU/Linux 4.0 r0 _Etch_ - Official i386 DVD Binary-1 20070407-11:40]/ etch contrib main
#
# deb cdrom:[Debian GNU/Linux 4.0 r0 _Etch_ - Official i386 DVD Binary-1 20070407-11:40]/ etch contrib main
#
# deb http://ftp.us.debian.org/debian/ etch main non-free contrib
# deb-src http://ftp.us.debian.org/debian/ etch main non-free contrib
#
# deb http://security.debian.org/ etch/updates main contrib non-free
# deb-src http://security.debian.org/ etch/updates main contrib non-free
deb http://archive.debian.org/debian/ etch main contrib non-free
In other words comment everything out, add that last line and then
Code:
apt-get clean
apt-get update
apt-get dist-upgrade
If it stops and complains about libc/the 2.4 kernel
Code:
apt-get install linux-image-2.6
Then reboot into the 2.6.18 kernel and try the dist-upgrade again.
When the dist-upgrade completes you will be running "up to date" Etch (Debian 4). For further upgrades you will need to read the release notes for the distributions you are upgrading to. I would suggest upgrading to Lenny next and if that goes well attempt the Squeeze upgrade - which would be a smart move considering Lenny's support ends sometime next month. In every case it's essential to read the release notes for upgrading and ensure your sources are correct from the start. If you have any doubts about the sources, post them up here before proceeding and someone should be able to guide you in the right direction.