fai-diskimage - create a disk image for booting a VM
fai-diskimage creates a disk image that can be used with Qemu/KVM, VirtualBox, VMware, Xen or by your cloud infrastructure. It runs the Fully Automatic Installation using a list of FAI classes. In the end you have a bootable disk image.
-c, --class CLASS[,CLASS]
Define list of FAI classes
Enter debugging after the FAI process has finished. Therefore the fai-diskimage script is stopped and you may enter the chroot for debugging purpose. When finished, leave the chroot and send a CONT signal for resuming the fai-diskimage script.
This option will be passed to the fai call. It then executes the scripts in class/[0-9]* for defining classes.
-S, --size SIZE
Set size of raw image (suffixes k M G T are supported)
-s, --cspace URI
Location of the config space. If location starts with /, the prefix file:// will be added. See fai.conf(5) for all supported protocols. Default is /srv/fai/config.
-u, --hostname name
Set hostname to name
# fai-diskimage -vNu cloud3 -S2G -cJESSIE64,GCE disk.raw
Creates a Debian system with a small set of software packages without graphical desktop. The disk image disk.raw will be of size 2 GB and the host ist called cloud3.
# fai-diskimage -vNu cloudhost -S5G -c$cl ubuntu.qcow2
Creates a disk image of size 5GB called ubuntu.qcow2 for a Ubuntu 16.04 desktop.
Before creating an image, make sure you have the configuration space available. Create the config space for FAI by using the examples from the fai-doc package.
# mkdir -p
# cp -a /usr/share/doc/fai-doc/examples/simple /srv/fai/config
fai-diskimage is not limited to creating images for virtual machines. The raw images can also be copies (via dd) onto a real disk for booting bare metal hosts.
You can start fai-diskimage in a clean shell environment by calling:
# env -i /usr/sbin/fai-diskimage -vNu cloudhost -S5G -cJESSIE64,GCE disk.raw
This program is part of FAI (Fully Automatic Installation). See the FAI manual for more information on how to use fai-monitor. The FAI homepage is http://fai-project.org.
Thomas Lange <email@example.com>