SystemImager® v3.0.1 Manual

Brian Elliott Finley
dann frazier
Austin Gonyou
Ari Jort
Jason R. Mastaler
Greg Pratt
Ben Spade
Denise Walters
Curtis Zinzilieta

SystemImager was created by Brian Elliott Finley, who continues to maintain it as the SystemImager team lead. Its initial implementation was known as Pterodactyl, which was used for software and password updates to Solaris boxes of varying hardware and OS versions across a nationwide enterprise network. Many SystemImager design decisions were based on perceived shortcomings in other automated install tools for systems such as Solaris, RedHat Linux, and Windows. Eventually, SystemImager evolved into the Linux-specific autoinstall and software distribution tool that it is today.

Be sure to view the CREDITS file for a listing of other people who have contributed code or documentation that has been incorporated into SystemImager. Many thanks go to these people, as their relentless pursuit in the discovery bugs and the occasional code contribution are invaluable.

Trademark Notices

SystemImager® is a registered trademark of Brian Finley.

Linux® is a registered trademark of Linus Torvalds.

Debian® is a registered trademark of Software in the Public Interest, Inc.

Red Hat® is a registered trademark of Red Hat, Inc. in the United States and other countries.

Solaris® is a registered trademark of Sun Microsystems, Inc.


Table of Contents
1. Introduction to SystemImager®
1.1. SystemImager Overview
1.2. Who Should Use This Guide
1.3. How SystemImager Works
1.3.1. Supported Distributions
1.3.2. System Requirements
1.4. Glossary of Terms
2. Installing SystemImager
2.1. How Does it Work?
2.2. Obtaining SystemImager
2.3. Selecting A Machine To Use As An Image Server
2.4. Installing an Image Server
2.5. Selecting A Machine To Use As A Golden Client
2.6. Installing SystemImager Client Software on a Golden Client
2.7. Creating an Image on the Golden Client
2.8. Upgrading SystemImager
2.8.1. Regenerating autoinstallscripts
2.8.2. Customizations to /etc/systemimager/rsyncd.conf
2.8.3. Regenerating boot media
2.8.4. What happened to the binary tarballs?
3. Using SystemImager
3.1. Installation Procedures Overview
3.1.1. Detailed Installation Instructions
3.1.2. SystemImager Tools
4. SystemImager Background
4.1. Design Goals
4.2. Development of SystemImager Architecture
5. Frequently Asked Questions
6. Troubleshooting
6.1. What's with the "ETHER_SLEEP" variable, and when should I mess with it?
6.2. getimage fails with a "Failed to retrieve /etc/systemimager/mounted_filesystems from <golden client>" message.
6.3. My client fails to assign a hostname to itself, causing the autoinstall to fail.
6.4. My client autoinstallation/update hangs, crashes, or is ridiculously slow.
6.5. My autoinstallcd doesn't boot.
6.6. When making the autoinstalldiskette, my system gives me an error involving "dd" or "mount".
6.7. My client failed to autoinstall, and when I run an rsync command on it manually, it takes forever for the image server to respond.
6.8. My autoinstall client booted up and said "dhcp didn't work," but when I do an ifconfig eth0 it has an IP address.
6.9. My client fails with the error: "chroot: cannot execute systemconfigurator: No such file or directory" My autoinstall client booted up and said "dhcp didn't work," but when I do an ifconfig eth0 it has an IP address.
6.10. My client completes the autoinstall process successfully, but I get an "Invalid Partition Table" error upon reboot, and Linux never boots.
6.11. PXE installations work fine for a while, but eventually clients no longer boot the autoinstall kernel.
6.12. My autoinstallclient fails with "Kernel panic: VFS: unable to mount root fs".
7. Developing SystemImager®
7.1. Version Strings
7.2. Using CVS
7.3. Submitting Patches
7.4. Tour of the Source Tree
7.4.1. Makefile Overview
7.4.2. Third Party Software
7.4.3. Boel
7.4.4. Boel Libraries
8. Command Reference
ADDCLIENTS -- assign clients to an image
AUTOINSTALLSCRIPT.CONF -- specify partition and filesystem options
CPIMAGE -- make a copy of a SystemImager image.
GETIMAGE -- pull an image from a golden client
LSIMAGE -- list the images on an image server
MKAUTOINSTALLCD --  generate a bootable iso image for autoinstalling clients
MKAUTOINSTALLDISKETTE --  creates a bootable floppy for autoinstalling clients
MKAUTOINSTALLSCRIPT --  create a SystemImager autoinstallscript
MKBOOTSERVER --  Configure a server so that other machines can boot from it over the network.
MKDHCPSERVER --  create a DHCP server configuration file for use with SystemImager
MKDHCPSTATIC --  create a DHCP server configuration file with static entries
MVIMAGE -- Move a SystemImager image.
PREPARECLIENT -- prepare a golden client's image for retrieval
RMIMAGE -- remove a SystemImager image.
MKRSYNCD_CONF -- generates rsyncd.conf from a rsync stub directory
UPDATECLIENT --  update the image running on the local client machine to match that of an image on an image server
List of Tables
1-1. Author Tested and Supported Distributions
List of Examples
1-1. A typical Cluster or Server Farm
2-1. Generating new autoinstallscripts
3-1. Contents of an example local.cfg provided with SystemImager:
3-2. Running mkdhcpserver
3-3. Running updateclient with the "-autoinstall" and "-config" options
3-4. Pull the golden client's image to the image server
3-5. Running getimage
3-6. Entries in /etc/hosts created by addclients
3-7. Booting the autoinstall media from a system's hard drive
6-1. Installing SystemConfigurator into an Image on an Image Serer