Build Profiles allow us to further customize the OpenGeo live image for specific use cases. For example, the Try It! image available from opengeo.org is different from the image we use for tutorials and workshops. We manage these all by using the kickstart include system to build new images that start from the base live cd profile and further customize it.

Kickstart Includes

A kickstart include is a way of making a kickstart file that starts with the settings from one kickstart file and overwrites and appends some configuration options of its own (more on kickstarts). For example, a kickstart file like the following would simply remove the GIMP from the normal build:

%include opengeo-live.ks

%packages
-gimp
%end

For the most part, the OpenGeo livecd profiles simply pull archived configurations from different locations on koala. Within koala/software/repo, there is a directory called common with shared configuration info, one called tryit for the configuration for the trial build, etc. The base image, opengeo-live.ks builds an image where all software is in its default configuration. Since this is such a common task in customizing builds, we use a shell function called grab_unpack to fetch a ZIP archive from a remote server and extract it to some location in the built system. This means that you can easily verify the configuration packages used by a particular build by using grep or your file search tool of choice:

$ grep ^grab_unpack LiveDisc/kickstart/opengeo-tryit.ks 
grab_unpack "${REPO_BASE}/tryit/desktop.zip" "${INSTALL_ROOT}/home/liveuser/"
grab_unpack "${REPO_BASE}/common/pgsql.zip" "${INSTALL_ROOT}/var/lib/pgsql/"
grab_unpack "${REPO_BASE}/common/geoserver-data.zip" \
grab_unpack "${REPO_BASE}/common/iso-extras.zip" "${LIVE_ROOT}"

Building a Profile

Building a particular profile is similar to building the base image. Each profile has its own kickstart file. Simply use the kickstart configuration corresponding the profile you'd like to build and substitute it for the base kickstart in the livecd-creator command.

Example command (run as root):

# setarch i686 livecd-creator -f 'OpenGeo Suite' \
    -c /path/to/kickstarts/opengeo-tryit.ks --cache /var/cache/live/

Particular Profiles

This section enumerates particular build profiles and the configuration directories they use. Notes on actually updating these configurations are available at Desktop defaults.

opengeo-tryit.ks

Directory Path Archive Location (on koalax) Notes
[ISO Root] /software/repo/common/iso-extras.zip The root of the image. Use this to override the boot menu background. This is where files go that are outside of the booted system (if any).
/var/geoserver_data /software/repo/tryit/geoserver-data.zip Make sure to Submit->Apply->Save any changes before archiving.
/var/lib/pgsql /software/repo/common/pgsql.zip Make sure to sudo service postgresql stop before archiving.
/home/liveuser /software/repo/tryit/desktop.zip Make sure to close Firefox before archiving. (Did you Clear Private Data?) See also DesktopCleanup

opengeo-workshop.ks

Directory Path Archive Location (on koalax) Notes
[ISO Root] /software/repo/common/iso-extras.zip The root of the image. Use this to override the boot menu background. This is where files go that are outside of the booted system (if any).
/var/geoserver_data /software/repo/workshop/geoserver-data.zip Make sure to Submit->Apply->Save any changes before archiving.
/var/lib/pgsql /software/repo/common/pgsql.zip Make sure to sudo service postgresql stop before archiving.
/home/liveuser /software/repo/workshop/desktop.zip Make sure to close Firefox before archiving. (Did you Clear Private Data?) See also DesktopCleanup