HP-UX HB v13.00 Ch-07 - Kernel Configuration
HP-UX Handbook – Rev 13.00 Page 4 (of 33)
Chapter 07 Kernel Configuration
October 29, 2013
Introduction
The architecture of the HP-UX kernel has been undergoing changes over several releases. The
kernel is becoming more modular and more capable of being tuned while running.
For HP-UX 11.11, the KM-commands should be used instead of editing the system file
manually like the previous HPUX version (i.e. 10.X, 11.0). The dynamic tunables were
introduced that could be modified without rebooting the system.
For HP-UX 11.23 and 11.31, the concept of saved kernel configurations and new KC-
commands were introduced. The kcweb interface was extended.
The next section describes the kernel configuration features for each HP-UX release and
provides a procedure that describes how to tune the kernel parameters.
Kernel Configuration at HP-UX 11.11
Generating a new kernel is done via SAM or with a shell script called mk_kernel(1M). Based on
a user-provided system file (/stand/system) containing the names of the included device
drivers and the settings of the kernel tunables, mk_kernel builds an executable file which can be
used as a bootable kernel.
mk_kernel(1M) basically calls the config(1M) command that does the main work. config(1M)
reads the system file and the master kernel configuration table information and generates the
following output files:
C program source files (conf.c and space.h) that define the configuration tables for
various parts of the system.
A makefile (config.mk) to compile the C program produced and re-link the newly
configured system.
config(1M) executes the make(1M) command to compile conf.c and link the kernel with the
appropriate kernel libraries. Many header files are needed to compile conf.c. Also, archive
library files containing the kernel objects are needed to link the kernel. These files are supplied
with the system and are contained in the directories found under /usr/conf. Libraries for the
kernel are expected to be found in /usr/conf/lib. The master file used is the composite of files
found under /usr/conf/master.d/.
If the build succeeds, the newly built binary will be a file named vmunix_test located in the
build directory /stand/build. If another path is used to designate the system file, the build
directory will be the present working directory.