DEBIRF(1) | User Commands | DEBIRF(1) |
debirf - build an initrd to boot a full Debian system entirely from RAM
debirf <subcommand> [options] [args]
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
Make a stock debirf rescue image using the default settings:
$ tar xzf /usr/share/doc/debirf/example-profiles/rescue.tgz
$ debirf make rescue
Make a debirf rescue image, specifying the mirror and a local HTTP proxy:
$ tar xzf /usr/share/doc/debirf/example-profiles/rescue.tgz
$ DEBIRF_MIRROR=http://ftp.debian.org/debian http_proxy=http://127.0.0.1:3128/ debirf make rescue
debirf takes various subcommands:
A debirf profile is a directory containing a debirf.conf config file and a modules sub-directory (see MODULES).
If the profile directory includes a 'packages' file, it is interpreted as a list of packages to include/exclude during the debootstrap stage. Packages should be specified one per line, with a '+' prefix to indicate inclusion during debootstrap, or a '-' prefix to indicate exclusion.
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 beginning with "DEBIRF_", including those defined in the debirf.conf file, are available to the modules.
Modules may specify packages to be included/excluded during the debootstrap stage with special '#DEBIRF_PACKAGE>' comments anywhere in the module. Lines beginning with '#DEBIRF_PACKAGE>+' specify packages to include, and lines beginning with '#DEBIRF_PACKAGE>-' indicate packages to exclude. Only one package should be specified per comment line (no spaces). So for instance, the lines:
#DEBIRF_PACKAGE>+emacs #DEBIRF_PACKAGE>+ed #DEBIRF_PACKAGE>-nanowould include the packages emacs and ed, and would exclude the package nano.
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.
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.
A set of pre-defined bash shell functions are available to the modules to fasciliate configuring the debirf system:
The following environment variables are used by debirf:
Written by Jameson Rollins and Daniel Kahn Gillmor.
Debirf does not work as a non-privileged user across different versions of libc. In particular, this means that you probably won't be able to build an image from a different version of the operating system than you're using without building as root. (see http://bugs.debian.org/650242)
Please report bugs in debirf via the debian BTS: http://bugs.debian.org/
Copyright © 2007-2011 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.
/usr/share/doc/debirf/README, debootstrap(8), fakechroot(1)
Dec 2011 | debirf 0.32 |