fai-diskimage - create a disk image for booting a VM
fai-diskimage imagename
fai-diskimage creates a disk image that can be used with Qemu/KVM, VirtualBox, VMware, Xen, Android device 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. Following formats are supported: .raw, .raw.xz, .raw.zst, .qcow2, .qcow2.zst, .vdi, .vhdx, .vmdk, .simg.
-c, --class CLASS[,CLASS]
Define list of FAI classes
-C CFDIR
Use CFDIR as the configuration directory. Default is /etc/fai.
-h, --help
Print help
-N, --new
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
-v, --verbose
Be verbose
First, setup the configuration space. You will get an initial configuration including several examples.
# fai-mk-configspace
You can now build your fist disk image.
# export
FAI_BASEFILEURL=https://fai-project.org/download/basefiles/
#
cl="DEBIAN,BOOKWORM64,AMD64,FAIBASE,GRUB_PC,DHCPC,DEMO,CLOUD,LAST"
# fai-diskimage -vu cloud3 -S2G -c$cl cloud.raw
Creates a Debian system with a small set of software packages without a graphical desktop. The disk image cloud.raw will be of size 2 GB and the host is called cloud3.
# export
FAI_BASEFILEURL=https://fai-project.org/download/basefiles/
# export NIC1=ens3
#
cl=DEBIAN,FAIBASE,UBUNTU,JAMMY64,AMD64,GRUB_PC,DHCPC,XORG,DEMO,LAST
# fai-diskimage -vNu ubuntu -S15G -c$cl ubuntu.qcow2
Creates a disk image of size 15GB called ubuntu.qcow2 for a Ubuntu 22.04 desktop. You have to set the variable NIC1 to the name of the network interface inside the environment you will run this disk image. Here, ens3 is the network name inside a KVM/QEMU virtual machine.
fai-diskimage will use zerofree if it’s available on the host for getting better compression of the raw images.
fai-diskimage is not limited to creating images for virtual machines. The raw images can also be copied (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 -cBOOKWORM64,CLOUD disk.raw
You can also build cross-architecture disk images using fai-disimage. See the chapter "Building cross-architecture disk images" in the FAI guide for details.
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 https://fai-project.org.
Thomas Lange <lange@cs.uni-koeln.de>