Quick Start HOWTO
From SystemImager
SystemImager
Quick steps to setup a simple and standard installation of SystemImager.
Download the required packages
Official SystemImager packages are available here. These packages depends on systemconfigurator that is available here.
Note: The following examples focus on installing SystemImager on a x86 system. If the systems you are trying to image are non-x86 (x86_64, ppc64, ia64, etc.) you will need to get the appropriate <arch>boot-standard and <arch>initrd_template packages. If they are not available in the above SourceForge download link, you will need to build them yourself. If you do end up building them, please consider contributing the binaries to the SystemImager project by emailing the developers at sisuite-devel mailing-list and providing them with a link to download your binaries. We will then place them on the SourceForge downloads page so that other users can use them.
A quick way to download all the required packages is to run the sis-install script:
$ mkdir systemimager $ cd systemimager $ wget http://download.systemimager.org/pub/sis-install/install $ chmod u+x install
For RPM-based distribution use:
$ ./install -v --download-only --tag stable --directory . systemconfigurator \ > systemimager-client systemimager-common \ > systemimager-i386boot-standard systemimager-i386initrd_template \ > systemimager-server \ > systemimager-bittorrent systemimager-flamethrower
For Debian/Ubuntu use instead:
$ ./install -v --download-only --tag stable --directory . systemconfigurator \ > systemimager-client systemimager-common \ > systemimager-boot-i386-standard systemimager-initrd-template-i386 > systemimager-server systemimager-server-bittorrent systemimager-server-flamethrowerd
Use `./install --help` for more informations.
Install SystemImager on the image server
On RPM-based distribution
Install systemconfigurator:
# rpm -ivh systemconfigurator-*
Install the server packages on the image server:
# rpm -ivh systemimager-common-* systemimager-server-* systemimager-i386boot-standard-*
If you want to use the BitTorrent transport install also:
# rpm -ivh systemimager-bittorrent-*
You will also need to install the actual BitTorrent client inorder for this transport to work. Your RPM-based distribution should already provide it (BitTorrent for SUSE-based, and bittorrent for Red Hat/Fedora-based distributions). For Red Hat Enterprise Linux (and derivatives like CentOS, ScientificLinux), you can get the bittorrent RPM via the DAG repository. Alternatively, you can also download the official BitTorrent client and install it via sources.
If you want to use the Multicast transport (via flamethrower) install also:
# rpm -ivh systemimager-flamethrower-* You also need to install udpcast and Flamethrower
On Debian (deb) based distribution
Installing systemimager on debian is a little tricky, because you can't use apt-get/aptitude to install it. You have to use the lower level dpkg tool to install the .deb files directly. However dpkg is unable to resolve package dependencies for you and will leave the installed packages in an unconfigured state if not all dependencies are met. There are however (at least) two solutions to this problem:
1. Install all dependencies before you install the systemimager packages. You can view all dependencies of a package by calling "dpkg --info downloaded_package_name.deb". You can then install the dependencies via apt-get/aptitude and continue with the package installation.
2. Install the systemimager packages and let apt-get fix all broken dependencies at the end. Just run "apt-get install --fix-broken" which will try to fix all broken dependencies on your system. I recommend running this after each installation step.
If you are unsure whether you have any broken dependencies left on your system you can call "apt-get check".
Install systemconfigurator:
# dpkg -i systemconfigurator_*.deb
Install the server packages on the image server:
# dpkg -i systemimager-common_*.deb systemimager-server_*.deb systemimager-boot-i386-standard_*.deb
If you want to use the BitTorrent transport install also:
# dpkg -i systemimager-server-bittorrent_*.deb You need a bittorrent tracker like bttrack, which you can find in the bittorrent package # aptitude install bittorrent
If you want to use the Multicast transport (via flamethrower) install also:
# dpkg -i systemimager-server-flamethrowerd_4.1.6_all.deb
Install SystemImager on the golden client
Install systemconfigurator:
# rpm -ivh systemconfigurator-*
Install the packages on the golden client:
# rpm -ivh systemimager-common-* systemimager-client-* systemimager-i386initrd_template-*
Create an image of the golden client on your image server
Assume the image server has the IP 192.168.1.1 and the golden client has the IP 192.168.1.2.
Go in your golden client and run:
# si_prepareclient --server 192.168.1.1
Be sure the port 873 TCP is opened in your golden client (from your image server), because the image server uses rsync to copy the image from the golden client.
Get the image from your image server:
# si_getimage --golden-client 192.168.1.2 --image my_image --post-install reboot
Start the SystemImager daemon on your image server
# /etc/init.d/systemimager-server-rsyncd start
Remember: port 873 TCP must be opened also in your image server from the clients in your management LAN.
Setup your boot server
For network boot to work, you will need to install a software dependency. This varies depending on your distribution but usually installing the syslinux package will suffice. If it does not work, try the pxelinux package. The binary you want from this package is pxelinux.0.
Run si_mkbootserver in your image server (the command is interactive, so simply answer to all the questions):
# si_mkbootserver
Check if the following parameters are defined in /etc/dhcpcd.conf of your image server:
option option-140 code 140 = text; option option-140 "192.168.1.1";
Define the target clients to install
On your image server run si_clusterconfig to define your set of client nodes (the command opens an interactive editor of a XML file):
# si_clusterconfig -e
Configure clients to boot from network
Assume your clients pool goes from node001 to node256.
On your image server run:
# si_mkclientnetboot --netboot --clients node001-node256
Configure your clients to boot from network (via BIOS).
Install the image in your clients
Simply boot your clients... ;-)
Delete an image
To delete an image on your image server run:
# si_rmimage my_image
