Connecting the dots with Solaris and middleware

7 Minute Installs: Using Reduced Repository with Automated Installer

Just over 7 minutes to install a text-oriented, headless server OpenSolaris system from scratch?

This is the next installment in my effort to establish an
efficient development and test environment for experimental OpenSolaris
base installation profiles. In this entry I address how to hook a
heavily reduced form of the OpenSolaris development package repository
into an Automated Installer environment to produce text-oriented, headless server installs of OpenSolaris.

Using a local copy of the package repository significantly reduces the time to perform an initial installation. Using a reduced form of the repository means that less time is spent setting up the environment because only those packages that are necessary are copied from the development repository.

Recap of the Automated Install Environment

See the prior topics above for details. Essentially, I have an AI install server running in a headless server, JeOS-based OpenSolaris installation within a VirtualBox VM. A heavily reduced subset of the OpenSolaris development package repository was established in the installer server to greatly speed up the initial installation process. A custom AI manifest represents an experimental base install profile for OpenSolaris by specifying only those features needed to establish a text-oriented, network-capable and bootable system. Packaging tools are included in the base installation such that further packages can be installed on an as-needed basis. Empty VirtualBox VM images are created and network booted to install the base profile from the install server.

Set Up an Install Client VM and Boot It

As described in the earlier posts mentioned above, I set up a new install client and booted it. On the install client, I monitored /tmp/install_log to ensure that the install client is using the repository specified above rather than the remote repository.

In my environment on a MacBook Pro 2.5 GHz with 4 GB RAM using VirtualBox 3.0.8, it took 2 minutes to load the install application over the network and start it and 5 minutes to perform the actual installation.

Finally, I rebooted the install client, logged in and made sure that basic operations worked as expected. For example, the following command listed all packages available in the http://pkg.opensolaris.org/dev repository, 1,949 packages, and just 99 packages currently installed:

$ pkg list -aH | wc

1949 7796 152036

$ pkg list -H | wc

99 396 7722

Next Steps

Since the ultimate goal of this series of experiments is to establish a metapackage representing the experimental base installation profile, the next step is to develop the manifest for the metapackage and publish it to the local repository. Then the custom AI manifest can be greatly simplified by replacing most of the references to packages with a single reference to the base installation profile metapackage. Only driver-oriented packages required for VirtualBox will be left in the custom AI manifest.