# Configuring the PicoBSD install floppy

The PicoBSD Install Floppy is engineered to be flexible since every site has their own needs for an automated install solution. The base package contains tools and frameworks for further customization.

## Generating an Install Image

Central to the design of the install floppy is a tarball image of the operating system. The install floppy downloads and extracts the image from a master server.

To generate the install image:

1. Install and configure a machine as it should be installed.
   - Make the template machine as close to the target machines as possible. System-specific files such as `/etc/fstab` can cause problems if they are specific to a particular disk setup, such as multiple SCSI disks in the template vs. single IDE disks in the target.
   - Try to keep the template as small as practical. The more packages you install on the template, the larger the image becomes.
2. Use tar to create the image. This shell script is useful for automating the process.

   >     #!/bin/sh
   >     TARBALL="/fbsdimage.tgz"
   >     GZIP="-9"

   >     tar -cpvzf ${TARBALL} --totals --exclude '/proc/*' --exclude '/var/tmp/*' \
   >         --exclude '/var/log/*' --exclude '/tmp/*' --exclude '/fbsdimage.tgz' /

   - Use the '--exclude' argument to remove files from the image.
   - Don't forget to exclude the image itself or your tarball will be much larger than it should.
   - The GZIP environment variable sets arguments to the gzip command called by tar's z option.
3. Copy the image file to your load server into a public FTP directory.

## Configuring the Install Floppy

Once the install floppy has been built using the PicoBSD build script, mount the floppy and modify the install script, `/floppy/etc/doinstall`. `doinstall` is called from rc on startup to install the disk image and perform whatever other setup tasks are necessary. The script can set network parameters, configure applications, select kernels, or whatever else a shell script can do. A handful of useful utilities is included on the disk to ease automated installation.

At minumum, set the URL to the FTP server holding the disk image. If you wish, uncomment and modify to taste any of the code blocks provided.

By default, the install floppy:

- Creates one large FreeBSD slice on the first IDE disk (wd0).
- Creates a 256MB swap partition and the rest for a large root partition.
- Formats the large partition using `newfs` with default parameters. '
- Downloads the image via FTP and feeds it directly into `cpio` for extraction.

To modify the disk formatting parameters, modify the `/floppy/etc/prepdisk` script. `prepdisk` is a simple awk script that feeds directly into `disklabel`. Simply edit the generated partition table to taste.

Last modified: Thu Oct 7 22:18:22 PDT 1999