HOWTO Install SystemImager from source on Ubuntu Edgy
Since I wrote this post, I've written a few more than are related:
- HOWTO Use SystemImager Once You Have It Installed (Ubuntu 6.10 Edgy Eft)
- HOWTO Use SystemImager with BitTorrent (Ubuntu 6.10 Edgy Eft)
- SystemImager Client Update Excludes
We now return you to your regularly scheduled post!
First, we'll need to set Ubuntu's /bin/sh to bash instead of dash.
I don't know why...well, besides the fact that not doing it will bugger up the compilation process.
$ sudo ln -sf bash /bin/sh
Next, we need to install the dependencies:
$ sudo apt-get install build-essential linux-headers-generic libappconfig-perl cramfsprogs e2fslibs-dev ncurses-dev libreadline5-dev rsync python-dev libtool gettext zlib1g-dev libssl-dev libxml-simple-perl perl-tk uuid-dev flex bzip2 syslinux libdevmapper-dev mtools
We also need to copy a couple of files, because as of the time of this writing, linux-headers-generic is missing a couple of files (linux-headers-2.6.17-11-generic 22.214.171.124-11.35). If this post is relatively old, you might just check first to make sure that
/usr/include/asm/unaligned.h exist on your system. If they don't, you can just (mind the emphasized directory, make sure that's the correct one for you):
$ sudo apt-get install linux-headers-generic
$ sudo cp /usr/src/linux-headers-2.6.17-11-generic/include/linux/compiler.h /usr/include/linux
$ sudo cp /usr/src/linux-headers-2.6.17-11-generic/include/asm/unaligned.h /usr/include/asm
Source tarballs - System Configurator SystemImager
Then we get the source code tarballs for systemimager and system configurator (a systemimager dependency that we'll also need to build from source in order to have a compatible version):
After they're downloaded, extract them (right-click and "Extract Here" works fine) into their own folders
We need to install SystemConfigurator first, this is pretty quick since it's just perl. Navigate to the directory that you extracted it (on my system, I just
$ cd ~/systemconfigurator-2.2.2), and run the following:
$ perl Makefile.PL PREFIX=/usr
$ make test #This should say "All tests succesful" right before finishing#
$ sudo make install
This is what takes a little while. Again, navigate to the directory that you extracted the source tarball (again, on my system
$ cd ~/systemimager-3.7.6) and run the following:
$ sudo make
$ sudo make install_server_all #If you're on the Server#
$ sudo make install_client_all #If you're on the Client#
Assuming you don't get dropped out of one of the above commands by an Error, you should now have SystemImager installed!
EDIT:By the way
You can now delete the source tarballs, and the directories they created.
I got the base beginning point for this HOWTO from a page on the SystemImager wiki, and I got lots of help beyond that from the SystemImager mailing list, and my friend David Ernst.
Thanks a lot, guys!