Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ instl_adm(4) — HP-UX 10.20

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

instl_adm(1M)

instl_bootd(1M)

swinstall(1M)

instl_adm(4)

NAME

instl_adm − cold-install configuration file syntax

DESCRIPTION

The cold-install configuration files determine the default system configurations that are available during the process of installing the HP-UX operating system. 

The cold-install process uses the configuration file to bring in default parameters as well as determining how the system will be finally configured.  During the installation process, the user is presented with a user interface that allows them to make selections that are implemented as use models in the configuration file.  The user interface also allows the user to make modifications beyond what is specified by the use models (such as adding new file systems or volumes). 

Once the user has approved the configuration, the user-interface writes out the configuration file (with modifications applied) that is then passed on to another utility that actually performs the system configuration and software loading. 

General Configuration File Structure

The configuration file is a free-structured file in which white-space is optional and should be used to improve readability.  The # character is used to designate a comment line that extends from the # character to the end of the line. 

Some keywords require string arguments.  Strings begin and end with the double-quote (") character.  A string may contain newlines without the need to escape them.  If a double-quote is needed inside a string, it must be preceded with the backslash (\) character. 

All keywords in the configuration file can be either all lower-case or all capitalized, but not mixed. 

Use Model Variables

The configuration file’s main purpose is to define the file system structure and preselected software.  In order to provide different configurations to suit different needs, the configuration file can define boolean string variables called use models whose value can be modified by the user through the user interface.  These boolean variables are used in the configuration file in order to determine what configurations are to be selected. 

A use model is simply a string that can have associated with it some help_text that gives the user more information about it.  Use models have a true/false value.  They also have a selectable and visible attribute that can be controlled by system attributes or by other use models.  These attributes are set using the selectable_if and visible_if keywords.  Use models that are unselectable can never be true.  Use models that are initially invisible will not appear in the user interface.  By default, use models are visible and selectable, and initialized to unselected (false). 

The order in which use models are assigned and used is not important due to the way that the file is re-parsed until a stable set of values is obtained. 

Mutually exclusive use models can be grouped together using the radio_sel construct such that one and only one of the group can be selected. 

The user interface presents use models in two different screens.  The top level screen contains use models that define whole-system configurations.  Whole-system use models begin with the tag "SYS:" (or are in the same radio_sel block as those that begin with "SYS:"). 

Use models that are not in the same radio_sel block as the "SYS:" are displayed in the Basic Configuration screen that appears after the whole-system configuration.  Use models in this screen are grouped together by radio_sel blocks.  If the use models in a radio_sel block have a colon (:) separator, then the substring ahead of the colon is used as the label in the user interface.  The substrings after the colon are used as the selection indicators. 

Use models are defined by reference, there is no need for formal declaration.  Assigning use models a true/false value can be done either of two ways.  Proceeding the use model with the keyword: INIT will cause the use model to be assigned an initial value but will allow the user interface to change the value.  An assignment without the INIT keyword will force a value and the user interface cannot change it (although it may appear that it can).  For this reason, the INIT keyword should always be used except in the case where one use model is controlling the value of another.  The "SYS:" class of use models is an example where INIT would not be used. 

Example:

INIT "SYS:Standard LVM Configuration" = ! hardware_model ~ "9000/7.*"
"SYS:Standard LVM Configuration"
{
    "Disk Layout:Logical Volume Manager"         = true
    "Software Selection:Runtime Software Bundle" = true
    "Language:English"                           = true
    "Create /export volume"                      = false
}
"Create /export volume" visible_if "Disk Layout:Logical Volume Manager"
"Disk Layout:Logical Volume Manager" visible_if false

The first line in the above example declares a use model called “SYS:Standard LVM Configuration” and initializes it to true (selected) if the system is not a Series 700.  The next section of the example declares a block in which other use models are set to true/false if and only if the “SYS:Standard LVM Configuration” has been selected. 

The next-to-last line sets the use model “Create /export volume” visible only if the user choose a situation that calls for “Disk Layout:Logical Volume Manager” to be true.  The last line always sets “Disk Layout:Logical Volume Manager” to invisible (it is only used internally by the configuration file and is not to be seen by the user). 

When a use model string appears before a block of statements inclosed with { } characters, that block will only be evaluated if the preceding use model is selected (value is true).  This is much like an "if" statement in a programming language.  The else keyword causes the statement block following it to be evaluated if the use model is false. 

The radio_sel keyword is used to associate a set of use models such that one and only one of the set can be selected.  The use models listed in the radio_sel block can be either the use model string or a regular expression enclosed in square brackets ([]) (See regexp(5)). In the case of a regular expression, all use models matching that expression will be included in the radio_sel group. 

Example:

radio_sel
{
    [ "SYS:.*" ]
    [ "Configuration from .*" ]
    "Configuration just for our company"
}

Regular expressions can also be used in conjunction with use models when used as a logic expression.  The two forms of this are:

Example-1:
[ ".*English.*" ]
{
   statements-1
}

Example-2:
[ ! ".*English.*" ]
{
   statements-2
}

In Example-1, the statements-1 will be evaluated if any use models matching the regular expression are true.  In Example-2, statements-2 will be evaluated if any use models matching the regular expression are false. 

Special Use Models

The configuration files that are distributed by Hewlett-Packard have a few use models that have special meanings. 

“User Defined CFG”
This use model is not visible from the user interface, and is used in the case that a whole-system use model is to override all the disk/file system configuration that appears in the standard configuration file. When this use model is true, then all the disk/file system information in the standard config file is ignored.  In addition, the Basic Configuration screen will not be displayed if this use model is true. 

This use model is true if any use model matching the regular expression: “Configuration from .*” is true (selected). 

“Configuration from .*”
Use models matching this regular expression are normally a result of a previous installation.  When a system installation is complete, the resulting configuration will be saved in the file: /usr/lib/sw/hpux.install/config.local.  This configuration is under the use model “Configuration from hostname” where hostname is the hostname of the system installed.  An install server’s config.local file is accessed by cold-install clients during the install process. 

Logic Expressions

A block of configuration statements may be surrounded by a logic expression and a set of { } brackets. 

The logic expression may be made up of use models or system attributes.  The following logic operators are recognized (in order of precedence):

( ) Parentheses can be used to group expressions in order to force precedence. 

!  Logical not operator. 

==   !=   ~
Comparison operators: equal, not-equal and regular expression match, respectively.  The == and != operators compare strings in a case insensitive manner.  The ~ character is a regular expression comparison operator.  The right side of ~ is treated as a regular expression string when compared to the left side string (See regexp(5)).

>   <   >=   <=
Comparison operators:  greater-than, less-than, greater-or-equal, and less-or-equal, respectively.

& Logical and operator. 

| Logical or operator. 

Use model names can appear in logic expressions and are treated as a single boolean value.  Use model regular expressions can also be used in logic expressions as shown in the previous examples. 

Example:

(num_disks > 1 & disk[best].size < 500MB) | "Use all the disks" |
hardware_model ~ "9000/8.*" | LLA_ADDR == "080009150315"
{
   statements
}

Constants

Integer:
Integers can be any set of decimal digits, and can have the suffixes of: MB or K, which indicates the number is in terms of Megabytes or Kilobytes.  An integer can also be in hexadecimal if prefixed by a leading 0x. 

String:
A string is a text surrounded by double-quote (") characters.  If a double-quote is needed inside the string, it must preceded with the back-slash (\) character.  No other characters, (including newlines) need to be preceded with a back-slash character.

Boolean:
The boolean constants are: true/TRUE and false/FALSE. 

System Attribute Keywords

The system attribute keywords that can be used in logic expressions are:

disk[hw-path].size

Example:
disk[2/0/1.6.0].size
disk[best].size

Evaluates to the size of the disk corresponding to the hardware path specified.  The keyword best corresponds to the disk that the user specified as the root disk, or as set in the configuration file (if set).  If not set, and the user-interface is not used, it will default to the disk with the lexically highest hardware path. 

disk[hw-path].model
Evaluates to the model string as reported by the disk specified by the hardware address path.

num_disks
Evaluates to the number of disks found on the system.

memory
Evaluates to the amount of memory installed on the system.

hardware_model
Evaluates to a string holding the equivalent of the "uname -m" command.

lla_addr | lla
Evaluates to a string holding the lan-link address (or station address) of the system.  The string will be in the form of a hex number (without a leading 0x). Evaluates to "unknown" if the system does not have a LAN interface.

ip_addr
Evaluates to a string holding the IP address of the system as set by the user, by DHCP, or by the configuration file.  If not set in the configuration file, this value will not be set on initial boot up, but will be set by the user during an interactive installation.

system_name
Evaluates to a string holding the hostname of the system as set by the user, by DHCP, or by the configuration file.  If not set in the configuration file, this value will not be set on initial boot up, but will be set by the user during an interactive installation.

source_type
Evaluates to a string indicating the type of media being installed from.  This can be one of the following: “DSK” (if a CD-ROM), “MT” (if DDS or mag-tape), “NET” (if using a network server). 

kbdlang
Evaluates to the string representing the language of the PS2 keyboard. For systems with a PS2 keyboard, the keyboard language is one of the first prompts that the user is required to select.

File System Configuration

The default disk and file system configuration can be specified as a partitioned_disk or a volume_group.  In a partitioned_disk configuration, each disk can have a maximum of two partitions. One partition being a file system and the other being swap space.  The volume_group configuration allows one or more disks to be configured into a Logical Volume Manager (LVM) volume group. That volume group can then be split up into one or more logical volumes.  Each logical volume can be used for either file system or swap space. 

The general syntax of the disk and file system configuration is:

partitioned_disk
{
    physical_volume disk[hw_path]
    {
        physical_volume-attributes...
    }
    fs_partition
    {
        filesystem-attributes...
    }
    swap_partition
    {
        swap-attributes...
    }
}
 

volume_group "vgNN"

{
    volume_group-attributes...
    physical_volume disk[hw_path]
    {
        physical_volume-attributes...
    }
    ...
    logical_volume
    {
        filesystem/swap-attributes...
    }
    ...
}

The various recognized keywords and attributes are described below:

partitioned_disk
Begins the specification of a disk that can be partitioned into one or two simple partitions.  The disk can be used for file system, swap, or file system and swap.

volume_group group_name
Begins the specification in which one or more disks can be put into a Logical Volume Group, and the split up into one or more logical volumes. group_name must be a quoted string of the form "vgNN" where NN is a two digit number.  For example: "vg00" or "vg01". 

physical_volume disk[hw_path]
Specifies the disk to use for the current configuration. hw_path is the hardware path of the disk (as reported by ioscan(1M)). hw_path can also be the keyword best, which will correspond to the disk the user chose from the user interface.  The best disk can also be set in the configuration file, but by default is the lexically largest hw_path of all the disks on the system. 

hw_path can also be the * character in which case all non-configured disks will be included into the volume_group.  Or in the case of a partitioned_disk, one non-configured disk will be used.  Another form of hw_path can be *=N where N is the number of disks that should be put into the volume_group. 

Following the physical_volume disk, can be a block of physical_volume-attributes surrounded by {} brackets.  These attributes will be described in the following sections. 

fs_partition
In a partitioned_disk configuration, this keyword starts the specification for the file system partition of the disk.  The block following this keyword is surrounded by {} brackets and consists of filesystem-attributes.  Filesystem-attributes will be described in the following sections. 

swap_partition
In a partitioned_disk configuration, this keyword starts the specification for the swap partition of the disk.  The block following this keyword is surrounded by {} brackets and consists of subset of the filesystem-attributes (namely the size, usage, and optionally the mount_point).  These-attributes will be described in the following sections. 

logical_volume
Defines a logical volume that should be part of the current volume_group.  A volume group can contain any number of logical volumes.  Following the logical_volume keyword is a block of filesystem/swap-attributes. 

Physical Volume Attributes

Following the specification of a disk using the physical_volume keyword, a block of attributes surrounded by {} brackets may be specified.  See mkfs(1M) for details.  These attribute keywords are:

nsect = number
Specifies the number of sectors per track as number.

ntrack = number
Specifies the number of tracks per cylinder as number.

rpm = number
Specifies the revolutions per minute of the disk as number. (number is converted to RPS before passing it to newfs(1M)

interleave_factor = number
If number is other than -1, then this specifies that the mediainit(1M) command should be run on the disk, and that the interleave factor of number should be used.  By default mediainit is not run on the disk. 

File System/Swap Attributes

The following attributes can be specified inside the blocks following the fs_partition, swap_partition, and logical_volume keywords. 

usage = HFS
usage = VXFS usage = SWAP

Specifies that the volume should be used as one of: HFS (hierarchical file system), VxFS (journaled file system), or as virtual memory SWAP.  (Note that the root file system cannot be VxFS.) 

size = number

size = remaining
size = remaining | maxsize

Specifies the size of the volume/file system to be number. In the case that the size is set to remaining, then the volume will be assigned the disk space that is left after allocating all other volumes.  If |maxsize is specified in conjunction with remaining, then the remaining disk space, up to maxsize, is assigned to the volume. number can be in units of bytes, or can be in MB or K (for example: 100MB, 102400K). 

mount_point = string
Specifies the directory that the file system will be mounted under as string. Specifying a mount_point for a swap volume is not necessary, but can be done so that the swap volume can be uniquely identified it it is to be overridden later in the configuration file. 

minfree = number
Sets the percentage of the disk to reserve for root-only use to number.

file_length = SHORT

file_length = LONG

Sets the file system filename length.  Default is LONG.  (For the VxFS usage, only long-filename file systems are possible.) 

blksize = number
Sets the file system block size to number.

fragsize = number
Sets the file system fragment size to number.

ncpg = number
Sets the number of cylinders per group to number.

nbpi = number
Sets the number of blocks per inode (inode density) to number.

rotational_delay = number
Sets the rotational delay factor for the file system to number.(See tunefs(1M)).

The following attributes are recognized when the volume is a LVM volume: (See lvcreate(1M)).

bad_block_relocate = boolean
Sets the bad block relocation policy to ’y’ if boolean is true or ’n’ if boolean is false. 

contiguous_allocation = boolean
Sets the contiguous allocation policy to ’y’ if boolean is true or ’n’ if boolean is false. 

stripes = number
stripes = *

Specifies that the data for this logical volume should be striped across multiple physical disks in the volume group.  The number of disks used to stripe the data can be provided by number, or if the data should be striped across all the disks in the group, then * can be specified.  Volumes that must be contiguous (/, /stand, and primary swap/dump) cannot be striped.  There must be two or more disks configured in the volume group in order to specify a striped volume in that group. 

stripe_size = number
Specifies the data size of each stripe.  This is only used when the logical volume is specified to be striped via the stripes keyword.  The default strip_size is equal to the file system block size (which is 8k by default).  The allowed values for number are 4k, 8k, 16k, 32k, and 64k. 

Volume Group Attributes

Within the volume_group block, the following LVM attributes can be set: (See vgcreate(1M) for details on meanings and defaults.)

max_physical_extents = number
Sets the maximum number of physical extents that can be allocated from any of the physical volumes in the volume group.

max_logical_vols = number
Sets the maximum number of logical volumes that the volume group is allowed to contain.

max_physical_vols = number
Sets the maximum number of physical volumes that the volume group is allowed to contain.

physical_extent_size = number
Sets the number of megabytes in each physical extent, where number may range from 1 through 256. 

System Identity and Network Configuration

The configuration file may set up attributes that control the default values for system identity and network configuration. Note that instl_adm(1M) can set most of these with command line options. The keywords recognized for this are:

system_name = string
Sets the system’s default hostname and uname value to string.

ip_addr = string
Sets the system’s default IP address to string.

netmask = string
Sets the system’s default netmask (as used by ifconfig(1M)), to string.

gateway = string
Sets the system’s default gateway address (as used by route(1M)), to string. string should be in IP address format.  If string is the same as the system’s IP address, then wild-card routing will be used. 

is_net_info_temporary = boolean
If set to true, then the network information supplied during the install will not be assumed to be correct for the system after it is installed.  In this case, at the first system boot, the set_parms and auto_parms utilities will try to obtain the final information via dhcpclient(1M) using the dynamic host configuration protocol (DHCP).  In addition, if the information used during the installation was originally obtained from a DHCP server, then the IP address lease will be returned at the end of the installation.

If set to false, (which is the default), the network information used during the install process will be assumed to be default for the system after the installation is complete.  Which means that if the information was obtained via a DHCP server, then the lease information obtained will be kept and used when the system boots.  If it was not obtained via DHCP, then the ENABLE_DHCP variable in /etc/rc.config.d/netconf will be set to ’0’ for the specific LAN interface.  This will prevent auto_parms from overriding the supplied network information with any possible information from a DHCP server. 

server = string
When the install source is the network, this is used to specify the default IP address of the install server.  This is a system that has the HPUX-Install.FILE-SERV-HPPA fileset installed. This system is also where the install process will read the configuration files from.

sd_server = string
Specifies the IP address of the system to use as the source for the Software Distributor (SD) swinstall(1M) utility.  This server is used for loading the HP-UX filesets.

sd_depot_dir = string
Sets the default depot directory to be used by the swinstall(1M) utility.  This depot directory is the location that the HP-UX software has been stored on the sd_server by the swcopy(1M) utility.

resolv.conf = string
Specifies string as being the content of the /etc/resolv.conf file.  This allows the DNS naming service be used during the install.  This will also automatically be copied into the system’s /etc/resolv.conf file. 

Control Parameters

The following parameters can be used to control the behavior of the installation process:

best = disk[hw-path]
Sets the default disk that will be used as the root disk (if the standard HP configuration files are used).  This sets the disk that is referred to by the syntax: disk[best]. 

kbdlang = string
kbdlang += string

The keyboard language (for PS2 keyboards) may be specified using this keyword and thus preventing the system from prompting the user for the language.  In order to prevent the prompt from occurring during the installation process, the kbdlang must be specified in the config file applied by the instl_adm -f option.  After the system is installed, this value is stored in the file: /etc/kbdlang. 

locale = string

locale += string

Specifies the default system language that will be configured.  If a language software bundle matching the locale specified was loaded on the system, then that language will be configured such the LANG variable and the CDE/VUE environment will use it.  By default, the locale is set to the appropriate value biased on what software bundle is loaded.  If the value of locale is set to “none” then no language will be set, and the system default will be used. 

run_ui = boolean
Specifies whether the installation process should be interactive or not. This may be set to false if the configuration file specifies all the necessary information needed to perform the installation.  If any information is missing or if any problems are found with the configuration, the installation will switch to interactive mode. 

In the case of a non-interactive installation, the user is given a default of 10 seconds to stop the process.  See env_vars on how to adjust this timeout value and also how to specify whether warnings conditions are allowed during non-interactive install. 

Setting run_ui = false should be done with extreme caution since the potential for accidental re-installation of system is possible.  This would cause all data on one or more disks to be lost.  Be aware that a network boot server that is not restricting access can be accidentally booted from.  Therefore it is best to either restrict access to the boot server (see instl_bootd(1M)), or surround the run_ui = false statement with a condition that makes it specific to the client’s LLA_ADDR.  The client’s LLA_ADDR can be retrieved from the boot roms using the lan_addr command, or by using the lanscan(1M) HP-UX command. 

run_sd = boolean
Indicates whether or not the install process should use the swinstall(1M) Software Distributor command to load the HP-UX filesets after the file systems are initialized.  Setting run_sd = false is only useful in the case that an alternate software loading mechanism is implemented via the post_config_cmd. 

sd_use_ui = boolean
Indicates whether or not the swinstall(1M) command should be run in interactive mode or not.  The cold-install user interface can override this default setting.

sd_software_list = string

sd_software_list += string

Sets (or appends to) the software that is loaded by swinstall(1M). string is stored in a tmp-file and passed to swinstall via the -f option. 

sd_command_line = string

sd_command_line += string

Allows setting of additional command line options to be passed to the swinstall(1M) command.  The options specified are added to the default options that are required to perform the software load.

sd_secrets = string

sd_secrets += string

This should be specified only when the file /var/adm/sw/security/secrets on the source depot server has been modified to provide additional security.  When this is done, all clients that access that server must have an identical secrets file.  The sd_secrets keyword allows you to specify the contents of the secrets file that will get used by the system doing the install. 

pre_config_cmd = string

pre_config_cmd += string

Allows a list of semicolon separated commands to be executed prior to the creation and mounting of file systems.  It also runs prior to the cold-install user interface.  There are almost no commands available at this stage (not even a shell).  Any commands needed have to be loaded in using the loadfile command that exists in this environment (for command usage, type "loadfile -?" from a recovery shell that can be run instead of installing HP-UX). 

pre_sd_cmd = string

pre_sd_cmd += string

Allows a set of commands to be executed after the disks are configured and just prior to the software loading process.  This provides for a convenient hook for modifying the SD defaults file and other actions that need to take place before loading software. 

post_config_cmd = string

post_config_cmd += string

Allows a set of commands to be executed after the disks are configured and after the software has been loaded and configured (if run_sd is not set to false).  string is stored in a file and executed by the /sbin/sh shell.  string is executed just prior to building the system kernel and prior to the final system reboot. 

sysadm_message = string

sysadm_message += string

Sets the message that is displayed to users when the system first boots the cold install process.  This message is only recognized when stored in the configuration file that exists in the first 8k of the INSTALLFS file.  instl_adm(1M) has a special option to make this easy to change.

error = string

error += string

Used to indicate an error condition such that the string is displayed to the user and the installation process is not allowed to proceed.  The use of the += operator adds a new message separate from any others.  The = operator will clear out any other messages previously added such that string will be the only message seen.  If the = operator is used with an empty string (""), then all error messages using this mechanism are cleared. 

warning = string

warning += string

Similar to the error keyword described above, however string will be considered a warning message and will not prevent the installation from proceeding. 

note = string

note += string

Similar to the error and warning keywords described above, however string will be considered a notice message and will not prevent the installation from proceeding. 

env_vars = string

env_vars += string

Sets a string of variables of the form "variable=value" that will be sourced into the environment for the duration of the cold install process.  The format of string should be one variable assignment per line.  The value of the assignment does not need to be quoted (unless quotes need to be part of the value).  These variable assignments will also be stored in the file /tmp/install.vars that is left behind on the system after the installation. 

Some special environment variables that are recognized by the cold install process are:

INST_NET_RESPONSE_TIMEOUT=seconds
When booting an install client from the network, this sets the amount of time that the system will wait for a user response before it reboots in assumption that the system booted from the install server accidentally.  Setting seconds to 0 (zero) will disable the timeout and the system will not prompt for a response. 

INST_LAN_DEV=lanX
For systems with multiple LAN cards, the LAN device that should be used during the install can be specified using this variable.  The value can be set to lan0, lan1, lan2, etc.  This variable is useful mainly for non-interactive installations.  During an interactive installation, the user is asked which LAN device to use.  The default is to use lan0, or the interface during a network boot.

INST_ALLOW_WARNINGS=seconds
Setting this environment variable is useful for non-interactive install sessions when warnings about disks containing data cause the installation to switch to interactive mode.  Setting seconds to 1 will cause all warnings to be ignored and the installation will proceed.  Setting seconds to greater than 1 will allow the user that many seconds to read the warning and stop the installation by pressing <return>. 

INST_BATCH_MODE_TIMEOUT=seconds
Sets the amount of time that the user has to interrupt a non-interactive cold install.  The default is 10 seconds.

INST_DONT_CHANGE_MEDIA=1
Setting this environment variable is useful if the install and SD media are combined such that the user does not have to switch media during the install.  If set, the install process will not stop to prompt the user to change media.

INST_SYS_SETUP_PROG=setup_prog
This environment variable can be set to an executable program or script that is available when the system first boots. When set, the set_params script will execute setup_prog instead of going through the interactive process of prompting for the the system’s hostname, networking, etc.  setup_prog would then be responsible for configuration the system’s identity in place of what set_parms would normally do. 

setup_prog must be loaded by swinstall or be added to the syscmds archive of commands so that it is available when the system boots. 

INST_ENABLE_NETWORK=1
This may be useful to set in the case where an automated install is to be done from physical media and the network interface needs to be enabled.  If the hostname and IP address are not set, the install process will attempt to contact a DHCP/bootp server to get that information.

Configuration File Locations and Precedence

The different media types have configuration files as explained below. 

On a network install server, there are three locations for the config files.  All of these are in the directory: /usr/lib/sw/hpux.install.  For the network server, the configuration files are:

config
This file holds the standard configuration information as shipped by Hewlett-Packard.  Modifying this file is not supported and not recommended.  However it can be used for a reference and to learn how the default configuration is set up.

config.local
This file holds the configuration that resulted from installing the server itself.  This file is optional and can be removed if so desired. If modifications to the default configuration are required, config.local is the recommended place to do so.  Modifications to this file are preserved between updates of the HPUX-Install product. 

700INSTALLFS (first 8K)
The first 8K of this file (which is the RAM-based file system) can hold configuration information.  The configuration file is stored into this file by using the instl_adm(1M) application.  Do not edit this file in any other way, beyond the first 8K is binary data.

Information in this file is available when the system first boots.  So information concerning networking and whether or not the install should be interactive needs to be stored in this file. 

Because of the 8K limit on configuration file information, large additions that do not need to be available until after networking is started should be done in config.local

For tape and CD-ROM, the configuration files are:

CONFIG
When installing from tape or CD-ROM, the configuration file is called CONFIG in the LIF volume.  There is not a config.local equivalent on physical media. 

INSTALLFS (first 8K)
The first 8K of the INSTALLFS file that exists in the LIF volume is used as configuration information just as the 700INSTALLFS file is for network servers. 

For the system disk drives, the configuration file is:

CUSTOM (in the disk drive’s LIF volume)
When the system doing an install first boots, it scans the system for disk devices and reads the LIF header from each device.  If any device has a file called CUSTOM it will extract that file and append it to any configuration file information.  This LIF file is primarily used by the lvmmigrate(1M) utility.

When the cold-install process first boots, it reads the configuration from any CUSTOM LIF files that may exist on any disk drives, then it reads the first 8K of INSTALLFS.  Then once networking is enabled it reads the config and config.local files from the install server.  Once all the configuration files are retrieved it concatenates them in the order: config + config.local + CUSTOM + INSTALLFS.  In this way the config.local file can override information in config, the CUSTOM and INSTALLFS files can override information in any of the configuration files. 

EXAMPLES

An example configuration file segment that can be installed using the instl_adm(1M) utility with the -f option is:

netmask = "255.255.248.0"
gateway = "15.1.48.1"
server  = "15.1.54.114"     # local install server
sd_depot_dir = "/var/depots/hpux.10.0"
sd_server = "15.1.54.112"   # local SD server
kbdlang = "PS2_DIN_US_English"
LLA_ADDR == "08000978BBBB"
{

# Configure "jupiter" using LVM and with the Runtime software.
system_name = "jupiter" # jupiter is the new system’s name
ip_addr = "15.1.2.3"    # jupiter’s IP address
init "Disk Layout:Logical Volume Manager" = true
init "Software Selection:HP-UX Runtime Environment" = true
init "Language:Spanish" = true
 # And do this in non-interactive mode.
RUN_UI = FALSE
 # Once the system is loaded, copy of some local configuration
# files so that the system comes up ready to use.  Note that
# the netconf file is uniq for this host, and the stuff under
# generic_root is a pseudo-root that can be copied to any
# system.
#
# Also re-run swinstall to load some local app’s from a
# different depot.
post_config_cmd="
  rcp guest@15.1.2.4:netconf.‘hostname‘ /etc/rc.config.d/netconf
  rcp -r -p guest@15.1.2.4:generic_root /
  swinstall -s 15.1.54.112:/var/depots/local LOCAL-APPS
"

}

FILES

/usr/lib/sw/hpux.install/config.local
Holds the configuration that resulted from the installation of the install server itself. This configuration is provided to clients as a way of matching that of the server. The information in this file will become out-of-date with respect to the install server as software is added/deleted and as new file systems are created. This file may be customized to provide an easy way to pick a system configuration for your specific application.

/usr/lib/sw/hpux.install/config
Holds the default configuration information provided by Hewlett-Packard. Modification of this file is not recommended or supported. Any modifications will be lost if the HPUX-Install product is re-loaded. Customizations should be restricted to the config.local file. 

/usr/lib/sw/hpux.install/syscmds
A gzip(1) compressed tar(1) archive containing the set of commands that is available through the loadfile command during a cold install.  It is also the set of commands that are extracted to the disk prior to running the swinstall(1M) command to load the rest of the HP-UX operating system.

SEE ALSO

instl_adm(1M), instl_bootd(1M), swinstall(1M). 

Hewlett-Packard Company  —  HP-UX Release 10.20:  July 1996

Typewritten Software • bear@typewritten.org • Edmonds, WA 98026