====== 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]].