Translation(s): Brasileiro - English - Français - Italiano - Deutsch - Español - Русский


Introduction

debootstrap is a tool which will install a Debian base system into a subdirectory of another, already installed system. It doesn't require an installation CD, just access to a Debian repository. It can also be installed and run from another operating system, so, for instance, you can use debootstrap to install Debian onto an unused partition from a running Gentoo system. It can also be used to create a rootfs for a machine of a different architecture. This is "cross-debootstrapping". There is also a largely equivalent version written in C: cdebootstrap, which is smaller, and thus used in debian-installer.

If you are interested in setting up a chroot for building Debian packages, look at sbuild, cowbuilder or pbuilder.

Debootstrap can only use one repository for its packages. If you need to merge packages from different repositories (the way apt does) to make a rootfs, or you need to automatically customise the rootfs, then use Multistrap.

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 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.

Documentation

Examples

{i} To locate a mirror near you, see the list of Debian worldwide mirror sites.

To setup a Wheezy system:

main # cd /
main # mkdir /wheezy-chroot
main # debootstrap wheezy ./wheezy-chroot http://http.debian.net/debian/

Full process to create a complete Debian installation of sid (unstable):

main # export MY_CHROOT=/sid-root
main # cd / 
main # mkdir $MY_CHROOT
main # debootstrap --arch i386 sid $MY_CHROOT http://http.debian.net/debian/
[ ... watch it download the whole system ]
main # echo "proc $MY_CHROOT/proc proc defaults 0 0" >> /etc/fstab
main # mount proc $MY_CHROOT/proc -t proc
main # echo "sysfs $MY_CHROOT/sys sysfs defaults 0 0" >> /etc/fstab
main # mount sysfs $MY_CHROOT/sys -t sysfs
main # cp /etc/hosts $MY_CHROOT/etc/hosts
main # cp /proc/mounts $MY_CHROOT/etc/mtab
main # chroot $MY_CHROOT /bin/bash
chroot # dselect
[ you may use aptitude, install mc and vim ... ]
 main # echo "8:23:respawn:/usr/sbin/chroot $MY_CHROOT " \
        "/sbin/getty 38400 tty8"  >> /etc/inittab
[ define a login tty that will use this system ]
[ i.e. create tty8 with `mknod tty8 c 4 8' and run `passwd' ]
 main # init q
[ reload init ]

C implementation of Debootstrap

cdebootstrap is used to create a Debian base system from scratch.

See cdebootstrap

cdebootstrap-udeb is intended for the use in building DebianInstaller images only. Do not install it on a normal Debian system.