debirf is a system that will create diskless, all-in-ram images
(kernel and initramfs) that boot entirely into ram and leaves the user
in a fully functional Debian system.

debirf has a modular architecture that allows users to easily
customize the images that they build, using simple shell scripts, to
do basically anything that Debian can do.  Some included example
"profiles" are:

minimal:
  very minimal system with no extras, including no man pages or udev.
  - requires ~230M of disk space to build, and produces a ~47M initramfs.

rescue:
  includes a full complement of system repair utilities,including
  mdadm, lvm2, testdisk, foremost, etc. 
  - requires ~250M of disk space to build, and produces a ~51M initramfs.

xkiosk:
  run a simple clean GUI interface for public-access web browsing.
  you can pass it the "browse=URL" boot parameter to specify a startup
  URL. 
  - requires ~600M of disk space to build, and produces a ~127M initramfs.

gzipped archives of these profiles are included with debirf in
/usr/share/doc/debirf/example-profiles/.  Each of these profiles
includes a debirf.conf, and a modules directory that includes links to
the various modules that the profile uses.  Start by unpacking one of
the example profiles.  For example, to start working with the minimal
profile in a debirf subdirectory of your homedir:

$ mkdir ~/debirf
$ cd ~/debirf
$ tar xzf /usr/share/doc/debirf/example-profiles/minimal.tgz

Before building, you can modify the debirf.conf as desired to specify
alternate build locations (the profile directory itself is the default
buildd), and which Debian mirror and distro to use (ala. debootstrap).
Once you have your profile ready, build it with the debirf build
script.  Following the example above:

$ cd ~/debirf
$ debirf make minimal

The debirf script creates the root filesystem for the new image using
debootstrap, then uses the debirf modules to customize the root fs and
prepare it for diskless booting.  Finally the kernel is extracted, and
the root fs is archived into an initramfs.

The kernel and initramfs can be placed into a system boot partition,
burnt to read-only media, or supplied by a netboot server.

You can also create a burnable CD image from your profile. After making a
minimal debirf profile (following the example above), convert it into an iso
image by running:

$ debirf makeiso minimal

If this run is successful, there should be a bootable ISO image stored
at ~/debirf/minimal/debirf-minimal.iso.  You can burn this to a CD
using a tool like wodim.

Have fun!  Create new modules and profiles for your specific needs.
If you think your module or profile would be generally useful, please
let us know and we'll include it with future versions of debirf.  Also
please let us know of any issues, bugs, or requests.

debirf is a CMRG project:

http://cmrg.fifthhorseman.net/wiki/debirf
debirf@fifthhorseman.net
