Updating Reduced Install of OpenSolaris Build 125 to 126

Since build 126 of OpenSolaris was recently released, it was time to update my Automated Install (AI) server and to verify that the reduced installation profile I had tested using build 125 was still working properly.  Overall, the process was straightforward and trouble free.

Updating the reduced OpenSolaris installation took very little time because only 78 MB was needed to update the 200 or so packages installed on my AI server.  This is a key benefit of using a reduced installation of an OS: you can dramatically reduce update overhead by downloading and applying updates for only those packages that matter to your particular application.  It's also a testament to the pkg(5) system in that it is able to bring down only updated files rather than being forced to always download complete packages.

Updating the OS was simple:

$ pfexec pkg image-update

Besides performing the image-update, I updated my Automated Installer configuration to use the build 126 version of the AI image.  Here are the steps I performed:

  • Downloaded the build 126 AI image
  • Removed existing build 125-based install service
  • Created a new build 126-based install service
  • Replaced default install manifest
  • Established a local reduced package repository based on build 126
  • Performed a reduced install using my existing custom AI manifest

Removed Build 125 Install Service

Although I could have created a new install service adjacent to my existing build 125 service, I didn't want to deal with additional IP addresses and DHCP setup.  Removing the existing service and creating a new one was easier:

$ pfexec installadm list
The install services running on the system are:


$ pfexec installadm delete-service -x 1002-125-x86
To delete DHCP macro, run the following command:
/usr/sbin/dhtadm -D -m dhcp_macro_1002-125-x86

$ pfexec /usr/sbin/dhtadm -D -m dhcp_macro_1002-125-x86
$ pfexec installadm list
No install services running on the system

Created New Build 126 Install Service

As explained in the earlier post, OpenSolaris Automated Installer with JeOS and VirtualBox, I created a new install service:

$ pfexec installadm create-service -n 1002-126-x86 -i -c 4 -s /export/aiimages/osol-1002-126-ai-x86.iso /export/aiserver/osol-1002-126-ai-x86

Setting up the target image at /export/aiserver/osol-1002-126-ai-x86 ...
Registering the service 1002-126-x86._OSInstall._tcp.local
dhtadm: GrubMenu already exists.
Unable to determine the proper default router
or gateway for the subnet. The default
router or gateway for this subnet will need to
be provided later using the following command:
   /usr/sbin/dhtadm -M -m -e  Router=<address> -g
dhcpconfig: Error - creating network macro. already exists.
copying boot file to /tftpboot/pxegrub.I86PC.OpenSolaris-2
Service discovery fallback mechanism set up

$ pfexec installadm list

The install services running on the system are:


Replaced Default Install Manifest

Using the same approach as explained here, Initial Experiments with Base Installation Profile, the default install profile was updated with the custom AI manifest specifying a bare minimum set of packages:

$ pfexec /usr/sbin/installadm add -m osol-base-ai-manifest-dev.xml -n 1002-126-x86

To ensure that build 126 packages will be installed, the version of the entire package referenced in the custom AI manifest was bumped up from 125 to 126:

<pkg name="entire@0.5.11-0.126"/>

I also modified the publisher's origin URL to point to my local package repository:

                <main url="" authname="opensolaris.org"/>
                <mirror url=""/>

Established Reduced Package Repository

Other than the addition of the following steps, pretty much the same approach described in Establishing Reduced Package Repository was used to set up a build 126-based heavily reduced repository. 

Obtained List of Build 126 Packages

Since my local reduced repository had only build 125 packages, I needed to obtain an accurate reduced list of build 126 packages.  I took one of the build 125-based reduced installations, performed a pkg image-update, and used the resulting list of packages as input into the pkgrecv-based copy script.

It was interesting to note that no new packages were installed as a result of updating the reduced build 125 installation to build 126.  Before and after the pkg image-update, there were 99 packages installed.

Copied Build 126 Packages of Interest

Before copying the build 126 packages of interest to my local repository, I took a ZFS snapshot of the local build 125-based repository:

pfexec zfs snapshot -r repos/devbase@b125

pfexec zfs list -t all 
NAME                                           USED  AVAIL  REFER  MOUNTPOINT
repos                                          329M  11.4G    23K  /repos
repos/devbase                                  329M  11.4G   329M  /repos/devbase
repos/devbase@b125                                0      -   329M  -
rpool                                         4.01G  3.81G    89K  /rpool
rpool/ROOT                                    2.34G  3.81G    19K  legacy

Then I fed the build 126 list of packages into the script mentioned in the earlier post to copy the packages to the same repository. Before performing the copy, I shut down the repository service:

pfexec svcadm disable application/pkg/server

After executing the copy script, I restarted the repository service and confirmed that the build 126 packages were present.

pfexec svcadm enable application/pkg/server

Performed Reduced Installation

Finally, to test out the updated AI environment, I used the lightly modified custom AI manifest to ensure that an install-from-scratch worked properly. Those instructions are available in this earlier post: 7 minute Installs: Using Reduced Repository with Automated Installer

Testing verified that the custom AI manifest is still working as expected with build 126. 

One additional piece of good news is that the AI issue where it previously complained about not being able to update the Firefox home page and issued an installation failure message has been fixed in build 126.  Now my reduced installation completes with a success message.


Post a Comment:
  • HTML Syntax: NOT allowed



« July 2016