b9: A tool and library for building virtual machine images.
Build virtual machine images for vm-deployments; resize,
un-partition, create from scratch or convert disk image
files in a variety of formats; assemble and generate all
associated files from templates and regular files.
VM images can further be modifed through scripts, which are
executed in LXC containers into which the vm-images as well
as arbitrary directories from the host are mounted.
All assembled files can also be accessed by vm build
scripts through a special directory mounted in the build
container, and/or can be written to directories, ISO- or
The ISO/VFAT images that B9 creates are compatible to
NoCloud data source;
B9 is also very well suited for compiling in a
containerized environment. For these applications, the
images can be marked as
Transient to indicate no further
interest in the VM-image itself, and B9 will discard them
after the build.
B9 will never over-write source files, not even large
vm-image files - there is no intended way to modify a
source vm-image file
B9 operates in random build directories, which are
discarded when the build exists.
[Skip to Readme]
For package maintainers and hackage trustees