====== Using systemimager to create VMs quickly and easily ======
===== The master machine =====
Add the public key for the SystemImager download repository to your system:
# wget http://systemimager.org/pub/brian@thefinleys.com.gpg.key -O - | apt-key add -
Add the repository itself to your system:
deb http://download.systemimager.org/debian stable main
And then install SystemImager:
aptitude update && aptitude install systemimager-server
The machine will install more packages than you might have expected:
The following NEW packages will be installed:
binutils{a} dosfstools{a} genisoimage{a} isc-dhcp-server{a} libappconfig-perl{a}
libcrypt-passwdmd5-perl{a} libencode-locale-perl{a} libfile-copy-recursive-perl{a}
libfile-listing-perl{a} libfont-afm-perl{a} libhtml-form-perl{a} libhtml-format-perl{a}
libhtml-parser-perl{a} libhtml-tagset-perl{a} libhtml-tree-perl{a} libhttp-cookies-perl{a}
libhttp-daemon-perl{a} libhttp-date-perl{a} libhttp-message-perl{a} libhttp-negotiate-perl{a}
libio-socket-ip-perl{a} libio-socket-ssl-perl{a} liblwp-mediatypes-perl{a} liblwp-protocol-https-perl{a}
libmailtools-perl{a} libnet-http-perl{a} libnet-ssleay-perl{a} libsocket-perl{a} libtimedate-perl{a}
liburi-perl{a} libwww-perl{a} libwww-robotrules-perl{a} libxml-namespacesupport-perl{a}
libxml-parser-perl{a} libxml-sax-base-perl{a} libxml-sax-expat-perl{a} libxml-sax-perl{a}
libxml-simple-perl{a} mtools{a} openbsd-inetd{a} syslinux{a} syslinux-common{a} systemconfigurator{a}
systemimager-boot-amd64-standard{a} systemimager-common{a} systemimager-server tftp-hpa{a} tftpd-hpa{a}
update-inetd{a}
0 packages upgraded, 49 newly installed, 0 to remove and 0 not upgraded.
Personally I don't see why systemimager should automatically install (for example) a TFTP server unless you say that you want to use one, but there you go...
At this point the caveat shown in [[https://www.howtoforge.com/howto_linux_systemimager]] regarding "prefix all commands with si_" becomes important, so find out the IP address of your [[client]], make sure you've run the "si_prepareclient" command on it, and then on the master type:
si_getimage --golden-client IP.address.of.client --image name.of.image.file --ip-assignment dynamic_dhcp
The choices for --ip-assignment are stated at [[https://www.howtoforge.com/howto_linux_systemimager]] as being:
* replicant
* static
* dynamic_dhcp
* static_dhcp
however apparently only "replicant", "static" and "dhcp" are supported by the current stable version of SystemImager.
The command
si_getimage --golden-client IP.address.of.client --image name.of.image.file --ip-assignment dhcp
will then fail with the error:
rsync: failed to connect to IP.address.of.client (IP.address.of.client): Connection refused (111)
because it's not possible to run [[client|si_prepareclient]] on Debian 7 Wheezy :(
=== Update ===
The problem with running si_prepareclient on Debian 7 Wheezy is the standard 3.2 Linux kernel - SystemImager only recognises 2.4 or 2.6 series kernels. I managed to persuade the Perl scripts to accept that 3.2 is a perfectly reasonable Linux kernel version, ran si_prepareclient on the Golden Client, and got si_getimage to run on the server.
I then used si_mkautoinstallcd to create a CD image, which doesn't boot.
I give up. This is not a useful tool. Nice idea, but it just doesn't work.
----
[[.:|Go up]]\\
Return to [[:|main index]].