doinstall 1.0 This package contains Expect scripts which can re-partition, initialize, install and configure Linux on a machine, based on a previous, manually configured, machine. It is intended to be used from a NFS-mounted root directory, as created by makeinstallroot. The idea here is to set up one machine however you like, make backups of that machine's filesystems, and then use those backups to install any number of new machines. It has been used to install Debian machines in the Univ. of Texas Dept. of Comp. Sci. for several years. REQUIREMENTS * Expect. Tested with version 1.1, TCL 8.3. * Some way to boot a machine, start the Linux kernel, have the kernel get an IP address, and mount the root directories. We have used etherboot-4.6.5, the Linux kernel up to 2.2.19, and the ISC DHCP server (2.2). In the past, we have used a Linux kernel on a floppy. rather than etherboot. For more information, see the root-over-nfs HOWTO. INSTALLATION NOTES Untar this package in the installation root directory. CONFIGURATION Copy the sample.ptable and edit it to reflect how your machines will be set up. This file is an Expect script, which will be sourced by the doinstall and runfdisk scripts. The basic elements of the file is the ptable array (with the size, in megabytes, and mount point or type of each partition on the machine), the pcount (the number of partitions), the imagedir (where the backups are located), and calls to updatefs for each of the partitions, listing the update scripts for each partition. Other variables needed by the update scripts can also be set. Create an image directory (as seen in the sample.ptable) and populate it with backup images. The images can be either of two flavors: * dump. Created by something like "dump 0f - | gzip", these should be named .gz, where the is the path of the mount point with the slashes ("/") replaced by underscores ("_"). * tar. Created with "tar -cf - | gzip". The image should be named .tar.gz. USAGE Boot the new machine using the root-over-NFS installation root. Run the script doinstall with the command line "doinstall ". The ptable file is what was created above. The device file is the device to be installed on, i.e. /dev/hda or /dev/sda. CUSTOMIZATION The update scripts found in the updates directory do most of the work of customizing the image on the new machine. Each is read when the "updatefs" command is seen in the ptable file, and called when the filesystem listed there is mounted on $target. New update scripts can be used to do any other needed configuration. LICENSE makeinstallroot is free software. See the file COPYING for copying conditions. BUGS Please send all bug reports to mcguire@crsr.net.