NAME
debirf - build an initrd to boot a full Debian system entirely from RAM
SYNOPSIS
debirf <subcommand> [options] [args]
DESCRIPTION
debirf (DEBian on Initial Ram Filesystem) is a set of tools designed to
create and prepare a kernel and initial ram filesystem that can run a
full-blown Debian environment entirely from RAM.
debirf has various subcommands (see SUBCOMMANDS) which act on a
specified debirf profile (see PROFILES).
The debirf system is outlined at:
http://cmrg.fifthhorseman.net/wiki/debirf
SUBCOMMANDS
debirf takes various subcommands:
make [options] PROFILE
Create a debirf system based on profile PROFILE. This will
create the root for the profile, run all modules on the root,
and then generate the kernel image (see KERNEL) and debirf
initramfs. This subcommand takes various options (see OPTIONS).
enter PROFILE
Chroot into root of profile PROFILE, with full profile
environment.
makeiso PROFILE
Create a bootable CD-ROM image from the kernel and initramfs in
PROFILE. This requires a bootloader to be available. If grub-
mkrescue (in the grub-common package on debian) is available, it
will be used. Otherwise, isolinux (from the syslinux-common
package) is used if it is available. You may use the
DEBIRF_ISO_BOOTLOADER environment variable to specify a
preference manually (see below).
help Output a brief usage summary.
OPTIONS (for make subcommand only)
-c, --check-vars
check variables before make
-n, --new
create new root, even if old one exists
-o, --overwrite
debootstrap on top of old root if it exists
-s, --skip
skip debootstrap step altogether if old root exists
-r, --root-build
use real chroot to build instead of fakechroot (requires
superuser privileges or CAP_SYS_CHROOT)
-w, --no-warning
skip superuser warning
-i, --initrd-only
remake initramfs from existing root (skip debootstrap and module
stages)
-k, --kernel-deb=KERNEL
install KERNEL .deb, instead of default kernel
PROFILES
A debirf profile is a directory containing a debirf.conf config file
and a modules sub-directory (see MODULES).
MODULES
Modules are used to configure the debirf system, and can be used to
extend the capabilities of debirf. Modules are bash shell scripts that
are executed in alpha-numeric order by run-parts in a chroot in the
debirf root during the module stage of the debirf build. The module
stage is right after the debirf debootstrap stage, and right before the
initramfs archive is created. All shell variables begining with
"DEBIRF_", including those defined in the debirf.conf file, are
available to the modules.
NOTE: Some modules are more important to the proper functioning of
debirf than others, and the ordering of modules is important. Some
modules may depend on certain other modules having already been, or not
yet been, run. For instance, the module that cleans the debirf apt
cache ("z1_clean_root") should be the last module run at the end of the
module stage.
KERNEL
The debirf "install-kernel" module will try to pick the most up-to-date
kernel for the suite you are installing (versions 2.6 only), with the
arch determined by the kernel running on the host build system.
FUNCTIONS
A set of pre-defined bash shell functions are available to the modules
to fasciliate configuring the debirf system:
debirf_exec <command>
Execute <command> within debirf root (DEBIRF_ROOT) with chroot.
msg <message>
Output a message to standard out during the build process.
failure <message> <exit-code>
Cause debirf script to fail with <exit-code>, and <message> to
stderr.
debirf_info_sh <message>
Write one line of sh code to the debirf.info file on the debirf
root.
debirf_info_comment <message>
Write one line of comment to the debirf.info file on the debirf
root.
ENVIRONMENT
The following environment variables are used by debirf:
DEBIRF_LABEL
debirf label (default: debirf)
DEBIRF_BUILDD
where to build the debirf (default: ./)
DEBIRF_ARCH
architecture to build (default is the architecture of the build
machine)
DEBIRF_SUITE
suite to build from (default "karmic" on Ubuntu, "squeeze"
otherwise)
DEBIRF_DISTRO
distro for suite (default determined by DEBIRF_SUITE)
DEBIRF_MIRROR
mirror to pull suite (default determined by DEBIRF_DISTRO)
DEBIRF_KEYRING
keyring to verify debootstrap (default determined by
DEBIRF_DISTRO)
DEBIRF_ISO_BOOTLOADER
whether to use "grub" or "isolinux" as the El Torito bootloader
for debirf makeiso. if not specified, "grub" is the default.
FILES
$DEBIRF_PROFILE/debirf.conf
Debirf profile configuration file. Contains values for the
various debirf environment variables (see ENVIRONMENT).
Variables specified in the debirf.conf override those specified
on the command line.
$DEBIRF_ROOT/etc/debirf/debirf.info
File that stores various information about the debirf build.
This is a bash-sourceable file.
AUTHOR
Written by Jameson Rollins and Daniel Kahn Gillmor.
REPORTING BUGS
Report bugs to <debirf@fifthhorseman.net>.
COPYRIGHT
Copyright © 2007 Jameson Rollins and Daniel Kahn Gillmor
This is free software. You may redistribute copies of it under the
terms of the GNU General Public License
<http://www.gnu.org/licenses/gpl.html>. There is NO WARRANTY, to the
extent permitted by law.
SEE ALSO
debootstrap(8), fakechroot(1)