SystemImager allows you to retrieve an entire system image from a golden client, which is a manually installed, customized machine, to an image server, which is the machine that will hold and distribute system images. You can deploy the images to any number of client systems from the image server.
After initial image deployment, you can update the client systems by syncing them from an updated image on the image server. Updates are fast and efficient because only the modified parts of files are pulled to the clients.
SystemImager uses SystemConfigurator to custom configure autoinstall clients for specific distributions. Through SystemConfigurator, SystemImager supports all major GNU/Linux distributions and most others, including custom or in-house distributions. Using "footprints", SystemConfigurator works with distributions based on their system configuration style rather than needing to know the name of the distribution. To determine a system's footprint, SystemConfigurator identifies the configuration files in use and associates that footprint with a configuration style. It then correctly manages settings, such as hostname and IP address, without needing to know the name of the distribution.
Therefore, SystemImager is distribution agnostic in nearly all areas. With few exceptions, all distribution specific knowledge exists within the SystemConfigurator tool, which supports a very large range of distributions. If you find a distribution that does not work with SystemImager, please file a bug report.
Your image server must have enough disk space to hold the images to be installed on your client systems (the default directory used to store images is /var/lib/systemimager/images).
All clients that will use the same image should have the same number of hard drive(s). The hard drives may be of different capacities, and disks may be larger with no problem and smaller within reason.
Advanced users can modify the /etc/systemimager/autoinstallscript.conf file within an image to make adjustments, then run the si_mkautoinstallscript(8) command to install the same image on clients with varying disk and/or filesystem configurations.
For PXE installations, you need a compatible TFTP server running on the boot server, which is usually the same machine as the image/DHCP server. Debian provides such servers in the tftpd-hpa and atftpd packages, while Red Hat 7.0 and later include such a server in the tftp-server package. H. Peter Anvin maintains the tftp-hpa package, which provides the required functionality.
In addition to a compatible TFTP server, PXE network-based installations may also require a PXE daemon to run on your image server. This requirement depends on the firmware used on the clients and the capabilities of your DHCP server. Usually a running PXE daemon is not necessary if the image server uses a recent distribution, since all recent versions of the DHCP daemon include PXE functionality.
We strongly recommend usage of the si_mkbootserver(8) tool, included in SystemImager, to properly set up a boot server.