.TH BUILDCROSS 8 2007-11-30 "Emdebian Project" "Emdebian GNU/Linux manual" .SH NAME buildcross \- Bootstrap a basic Debian system .SH SYNOPSIS .B buildcross .RB [ OPTION\&.\&.\&. ] .I SUITE TARGET .RI [ MIRROR .RI [ SCRIPT ]] .B buildcross .RB [ OPTION\&.\&.\&. ] \-\-second\-stage .SH DESCRIPTION .B buildcross bootstraps a basic Debian system of .I SUITE (eg, sarge, etch, lenny, sid) into .I TARGET from .I MIRROR by running .IR SCRIPT . .I MIRROR can be an http:// URL, a file:/// URL, or an ssh:/// URL. Notice that file:/ URLs are translated to file:/// (correct scheme as described in RFC1738 for local filenames), and file:// will \fBnot\fR work. ssh://USER@HOST/PATH URLs are retrieved using .BR scp ; use of .B ssh\-agent or similar is strongly recommended. .PP \fBDebootstrap\fR can be used to install Debian in a system without using an installation disk but can also be used to run a different Debian flavor in a \fBchroot\fR environment. This way you can create a full (minimal) Debian installation which can be used for testing purposes (see the \fBEXAMPLES\fR section). If you are looking for a chroot system to build packages please take a look at \fBpbuilder\fR. .SH "OPTIONS" .PP .IP "\fB\-\-arch ARCH\fP" Set the target architecture (use if dpkg isn't installed). See also \-\-foreign. .IP .IP "\fB\-\-include=alpha,beta\fP" Comma separated list of packages which will be added to download and extract lists. .IP .IP "\fB\-\-exclude=alpha,beta\fP" Comma separated list of packages which will be removed from download and extract lists. WARNING: you can and probably will exclude essential packages, be careful using this option. .IP .IP "\fB\-\-components=alpha,beta\fP" Use packages from the listed components of the archive. .IP .IP "\fB\-\-no\-resolve\-deps\fP" By default, buildcross will attempt to automatically resolve any missing dependencies, warning if any are found. Note that this is not a complete dependency resolve in the sense of dpkg or apt, and that it is far better to specify the entire base system than rely on this option. With this option set, this behaviour is disabled. .IP .IP "\fB\-\-variant=buildd|fakechroot\fP" Name of the bootstrap script variant to use. Currently, the variant supported are buildd, which installs the build-essential packages into .IR TARGET and fakechroot, which installs the packages without root privileges. The default, with no \fB\-\-variant=X\fP argument, is to create a base Debian installation in .IR TARGET . .IP .IP "\fB\-\-keyring=KEYRING\fP" Download signatures for retrieved Release files and check them against .IR KEYRING . By default, Release file signatures are not checked. .IP .IP "\fB\-\-verbose\fP" Produce more info about downloading. .IP .IP "\fB\-\-print\-debs\fP" Print the packages to be installed, and exit. Note that a TARGET directory must be specified so buildcross can download Packages files to determine which packages should be installed, and to resolve dependencies. The TARGET directory will be deleted unless \-\-keep\-buildcross\-dir is specified. .IP .IP "\fB\-\-download\-only\fP" Download packages, but don't perform installation .IP .IP "\fB\-\-foreign\fP" Do the initial unpack phase of bootstrapping only, for example if the target architecture does not match the host architecture. A copy of buildcross sufficient for completing the bootstrap process will be installed as /buildcross/buildcross in the target filesystem. .IP .IP "\fB\-\-second\-stage\fP" Complete the bootstrapping process. Other arguments are generally not needed. .IP .IP "\fB\-\-second\-stage\-target DIR\fP" Run second stage in a subdirectory instead of root. (can be used to create a foreign chroot) (requires \-\-second\-stage) .IP .IP "\fB\-\-keep\-buildcross\-dir\fP" Don't delete the /buildcross directory in the target after completing the installation. .IP .IP "\fB\-\-unpack\-tarball FILE\fP" Acquire .debs from tarball FILE instead of downloading via http .IP .IP "\fB\-\-make\-tarball FILE\fP" Instead of bootstrapping, make a tarball (written to FILE) of the downloaded packages. The resulting tarball may be passed to a later .BR \-\-unpack\-tarball . .IP .IP "\fB\-\-boot\-floppies\fP" Used for internal purposes by boot-floppies .IP .IP "\fB\-\-debian\-installer\fP" Used for internal purposes by the debian-installer .IP .SH "EXAMPLE" . .PP To setup a \fIsarge\fR system: .PP # buildcross sarge ./sarge-chroot http://ftp.debian.org/debian .PP # buildcross sarge ./sarge-chroot file:///PATH_TO_LOCAL_MIRROR/debian .PP Full process to create a complete Debian installation of \fIsid\fR (unstable): .PP main # cd / ; mkdir /sid-root main # buildcross 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 ] .PP Note that you will generally need a recent version of buildcross to do this; the version currently in stable will generally have stopped working due to changes to unstable shortly after the last release. .SH AUTHOR .B buildcross was written by Hector Oron . This manpage was written by Matt Kraai .