Debootstrap is a tool which will install a Debian base system into a subdirectory of another, already installed system. It doesn't require an install cd, just access to a Debian Repository. It can also be installed and run from another os, so, for instance, you can use debootstrap to install debian onto an unused partition from a running Gentoo install.
If you are interested in setting up a ["chroot"] for building Debian packages, look at ["PBuilder"].
The debootstrap package page is debootstrap
Since DebianTesting and DebianUnstable change rapidly, if you are going to attempt to install DebianTesting or DebianUnstable, it is recommended that you download the latest version of debootstrap from the package page above and use that. Normally it would not be wise to install a package from unstable onto stable, but in this case it's safe, since debootstrap is really just a shell script and its dependencies are minimal.
(from the debootstrap manpage)
To setup a sarge system: # debootstrap sarge ./sarge-chroot http://ftp.debian.org/debian # debootstrap sarge ./sarge-chroot file:///PATH_TO_LOCAL_MIRROR/debian Full process to create a complete Debian installation of sid (unstable): main # cd / ; mkdir /sid-root main # debootstrap sid /sid-root http://ftp.debian.org/debian/ [ ... watch it download the whole system ] main # echo "proc /sid-root/proc proc none 0 0" >> /etc/fstab main # mount proc /sid-root/proc -t proc main # cp /etc/hosts /sid-root/etc/hosts main # chroot /sid-root /bin/bash chroot # dselect [ you may use aptitude, install mc and vim ... ] main # echo "8:23:respawn:/usr/sbin/chroot /sid-root " \ "/sbin/getty 38400 tty8" >> /etc/inittab [ define a login tty that will use this system ] main # init q [ reload init ]