9.3 Creating a Bootable CD for the POSBranch Terminal

After the CDBoot and client images are generated, you are ready to create the final ISO image.

The ImageBuilder utility includes an option to generate CDBoot images. ImageBuilder generates an ISO9660-compliant CD image that is bootable according to the El Torito specification. The resulting CD contains a minimal Linux system image (CDBoot), a Linux system client image (Minimal, Java, Browser, or Desktop), and a config.image configuration file. The configuration file controls whether the client image is written into a RAM disk or if it must be placed on the hard disk of the booting node.

To create a CDBoot image, you must complete the following steps:

  1. Create the CD setup directory.

  2. Create the config.image file.

  3. Generate the CDBoot image and its associated client image.

  4. Generate the CD ISO image.

These steps are discussed in the following sections.

9.3.1 Creating the CD Setup Directory

Because all the files for a CDBoot image must be part of the CD, they must be centrally located in a setup directory. Therefore, the first step in preparing the CDBoot image is putting all the required configuration files into a centralized setup directory. This includes the config.image file and any other files required to configure the Point of Service terminal, such as XF86Config files.

Use the following command to create a CD setup directory:

mkdir /tmp/cdsetup_directory

After you have created the CD setup directory, you are ready to create the config.image file and copy other configuration files required for the CDBoot image.

9.3.2 Creating the config.image File

The config.image file contains the parameters required to configure a specific Point of Service terminal during a CDBoot; that is, it indicates which client image the terminal should load and how to do it. The config.image file is an ASCII, line-based file that can be created in a text editor. It must be named “config.image” and it must be located in the CD setup directory.

The format of the config.image file is as follows:

	IMAGE=device;name;version
	CONF=source;dest,...,source;dest
	PART=size;id;Mount,...,size;id;Mount
	JOURNAL=ext3
	DISK=device
	FEATURE=contents of the --feature option
	EXTEND=contents of the --extend option
	PARAMS=additional options of type bool

Table 9-1 provides a detailed description of each parameter in config.image.

Table 9-1 Parameters for the config.image file

Parameter

Description

IMAGE=device;name;version

Specifies the client image (name) and version (version) that will be loaded on the Point of Service terminal. When you generate the CDBoot image, ImageBuilder uses this information to generate the client image with the CDBoot image.

  • device is the storage device to which the image is linked; for example, /dev/hda2 or /dev/ram1.

    NOTE:For a Point of Service terminal with a hard disk, partition hda1 is used for the swap partition and hda2 defines the root ( / ) file system. The RAM device should not be confused with the hard disk device which uses a partition table. On a RAM disk device, /dev/ram0 is used for the initial RAM disk and cannot be used as storage device for the client image. It is recommended that you use /dev/ram1 for the RAM disk.

  • name is the client image to load on the Point of Service terminal.
  • version is the version of the client image to load on the Point of Service terminal.

CONF=source;dest, . . .,source;dest

Specifies the configuration files to download to the Point of Service terminal. The data is provided in a comma-separated list in the form source;dest where

  • source is the path to the source configuration file.
  • dest in an absolute path below the client image where the configuration file is saved.

PART=size;id;Mount,...,size;id;Mount

Specifies hard disk partitioning data. The data is provided in a comma-separated list in the form size;id;Mount where

  • size is the size of the partition

    If a partition should take all the space left on a disk, use a lowercase x as the size specification.

  • id is the partition type number
  • Mount is the partition mount point

IMPORTANT:The swap partition must not contain a mount point. A lowercase letter x must be set instead.

The first element of the list defines the swap partition. The second element of the list defines the root partition.

JOURNAL=ext3

Specifies a journal to be added to the file system.

The value for this parameter must be set to ext3 because that is the only journaled filesystem Novell Linux Point of Service supports.

NOTE:If you have an existing ext2 image, you can change the file system by setting a flag in the scCashRegister or scWorkstation object rather than re-creating the image. If ext3 is specified in either LDAP object, the Point of Service terminal extends the file system to ext3 when the image is deployed.

The JOURNAL parameter is evaluated only if the DISK parameter is set.

DISK=device

Defines the device through which the hard disk can be addressed; for example /dev/hda.

This parameter is used only with PART.

FEATURE=string

The value of the --feature option used for building the client image. This optional parameter is only pertinent while the client image is created.

For information, refer to scr Commands or xscr Commands in the Novell Linux Point of Service 9 Administration Guide.

EXTEND=string

The value of EXTEND is the value of the --extend option used to extend an image with an additional RPM package. This optional parameter is only pertinent while the client image is created.

IMPORTANT:The EXTEND parameter can be used only for CDBoot images generated with scr. The xscr utility uses the ImageSpecification.xml document to add additional packages to the CDBoot image.

For information, refer to scr Commands in the Novell Linux Point of Service 9 Administration Guide.

PARAMS=string

The value consists of bool options that are used for special actions. This optional parameter is only pertinent while the client image is created.

This parameter can be used with the --gzip option to compress the image. The CDboot linuxrc recognizes a compressed image referring to the suffix .gz. A compressed CD image is uncompressed on the fly while the image is installed.

For POSBranch images, it is recommended that you add the following line to the config.image file:

PARAMS=--keep-rpm

This allows you to use the YaST2 interface to configure POSBranch terminals. However, it adds approximately 30 MB to the size of the image. If the size of the image is an issue, you can leave out the RPMs; however, you will not have YaST2 functionality.

9.3.3 Generating the CDBoot Image

To build the CDBoot image, you must use ImageBuilder’s CD boot feature. This feature requires the CD setup directory as a parameter so ImageBuilder can locate the config.image file. It then uses the parameters defined in the config.image file to create the CDBoot image. When you generate the CDBoot image, ImageBuilder also builds the client image designated in the config.image file’s IMAGE parameter. For information on the config.image file’s format and parameters, see Section 9.3.2, Creating the config.image File.

IMPORTANT:Because ImageBuilder automatically generates the client image when it builds the CDBoot image, the Image Description Trees for both the CDBoot and client images must be complete before generating the CDBoot image.

The CDBoot build syntax is as follows (type the command all on one line):

xscr --prepare --build --image image_name-version --feature boot_cd:config=CD_setup_directory --destdir directory

For example, the following command creates the CDboot and client images as specified in the config.image file in the /tmp/cdsetup directory and saves the images to /tmp/mycd/:

xscr --prepare --build --image cdboot-2.0.21 --feature boot_cd:config=/tmp/cdsetup --destdir /tmp/mycd

NOTE:The syntax and example shown above are for using xscr; however, the processes are the same for scr and xscr; only the executable changes.

9.3.4 Creating the CD ISO Image

After the CDBoot and client images are generated, you are ready to create the final ISO image. ImageBuilder’s --create-iso option builds the following components in the ISO image:

  • The CD directory structure
  • All necessary boot manager files
  • The CDBoot and client images

The --create-iso command syntax is as follows:

xscr --create-iso image_name.iso --destdir directory

For example, the following command creates an ISO image named mycd.iso in the /tmp/mycd directory.

xscr --create-iso mycd.iso --destdir /tmp/mycd

The --destdir parameter defines the target and the source directory. The CDBoot and client images you previously created must be located in the destination directory. At the end of the process, you will have three images in the directory: the CDBoot image, the client image, and the final ISO image.

NOTE:The syntax and example shown above are for xscr; however, the processes are the same for scr and xscr; only the executable changes.

9.3.5 Burning the Boot CD

When the process is complete, use a CD recording program to burn the ISO image (for example, /tmp/mycd/mycd.iso) to a CD.