doconfig(8)doconfig(8)NAMEdoconfig - Builds the kernel described by system configuration files
/usr/sbin/doconfig [-s | -b] [-a | -m] [-c config_file] [-d -n] [-e
The /usr/sbin/doconfig program supports the following options: Speci‐
fies a noninteractive kernel build phase that enables all (mandatory
and optional) kernel options automatically. The -a option creates a new
system configuration file in /sys/conf/SYSTEM_NAME unless you also
specify the -c option, in which case the configuration file uses the
existing /sys/conf/SYSTEM_NAME. If you specify the -c option with a
specific configuration file name along with the -a option, the kernel
is built with the kernel options already included in the configuration
file; you will not be prompted to edit the configuration file.
You cannot use this option with the -m option which provides a
noninteractive kernel build phase that enables mandatory kernel
options only. Specifies that you want to build a bootstrap
linked kernel. A bootstrap linked kernel is built directly into
memory, without writing an executable file to disk. To create
the kernel, the bootstrap program reads a text file that
describes the hardware and software support needed in the ker‐
You cannot use this option with the -s option, which builds an
executable image file called /vmunix. The -b option has no
effect if specified with the -d option. Specifies that you want
to build a kernel using the existing configuration file, con‐
fig_file. The configuration file resides in the /usr/sys/conf
directory and is usually named using the system name, in upper‐
case letters. You must supply the name of the existing configu‐
ration file without specifying the pathname.
The /usr/sbin/doconfig program also uses any existing con‐
fig_file.list file. If there is no config_file.list file and a
file exists, /usr/sbin/doconfig copies the file to the con‐
fig_file.list file. These files must exist in the /sys/conf
directory. Specifies that only device special files are cre‐
ated. Specifies that you want to run the specified ed editor
script on the configuration file before a new kernel is built.
Specifies a noninteractive kernel build phase that enables
mandatory kernel options automatically. The -m option creates a
new system configuration file in /sys/conf/SYSTEM_NAME unless
you also specify the -c option, in which case the configuration
file uses the existing /sys/conf/SYSTEM_NAME. If you include the
-c option with a specific configuration file name along with the
-m option, the kernel is built with the kernel options already
included in the configuration file; you will not be prompted to
edit the configuration file.
You cannot use this option with the -a option which provides a
noninteractive kernel build phase that enables all (mandatory
and optional) kernel options. Builds a network-bootable kernel
for Dataless Management Services (DMS) clients. The -n option
invokes the pmerge utility, which builds a stripped network-
bootable kernel called dmu during its configuration phase. For
more information, refer to the dmu(8) and pmerge(8) reference
pages. Specifies that you want to build a statically linked
kernel. A statically linked kernel is a traditional kernel,
built and stored in an executable image file called /vmunix.
This option is the default if you omit the -b and -s options.
You cannot use this option with the -b option, which builds a
bootstrap linked kernel, or the -d option. This option has no
effect when specified with the -n option.
The /usr/sbin/doconfig program builds a new kernel, optionally allowing
you to edit the configuration file before the new kernel is built. You
might need to build a new kernel when you: Add or remove hardware from
your system Add or remove kernel subsystems from the kernel Tune the
performance of your operating system
Depending on how you modify the system, you might be able to make the
modification without rebuilding the kernel. In this case, you use
dynamic configuration commands, such as the sysconfig command, to mod‐
ify the system. For information that helps you decide whether to use
dynamic configuration commands or rebuild the kernel by using the
/usr/sbin/doconfig program, refer to the System Administration guide.
For more information about the sysconfig command, refer to the syscon‐
fig(8) reference page.
If you need to rebuild the kernel by using the /usr/sbin/doconfig pro‐
gram, you usually use a text editor to modify the system configuration
file (/usr/sys/conf/config_file), the /usr/sys/conf/param.c file or the
layered products configuration file (/usr/sys/conf/config_file.list).
For information about the contents of these files, refer to the System
Administration guide and the System Configuration and Tuning guide.
After you modify the necessary files, run the /usr/sbin/doconfig pro‐
gram and use the -c option.
For example, suppose you need to build a new kernel for a system named
MYSYS. You edit the target configuration file, the param.c file, or the
layered products configuration file and make some changes.
You then follow these steps to rebuild your kernel: Log in as root or
become the superuser and set your default directory to the
/usr/sys/conf directory. Save a copy of the running kernel. If possi‐
ble, save the file in the root (/) directory, as follows: # cp /vmunix
If there are disk space constraints, you can save the kernel
file in a file system other than root. For example: # cp /vmunix
Be aware that you cannot boot your system from a kernel in any
directory other than the root directory. If you do not have a
bootable kernel such as genvmunix in the root directory, and the
new vmunix kernel is not bootable, you will have to boot the
system from the distribution media to get your system to the
UNIX shell. Then follow the procedures in the Installation
Guide to mount the appropriate file systems and copy the saved
vmunix to the root directory. Run the /usr/sbin/doconfig pro‐
gram as follows: # /usr/sbin/doconfig -c MYSYS *** KERNEL CON‐
FIGURATION AND BUILD PROCEDURE *** Saving /usr/sys/conf/MYSYS as
/usr/sys/conf/MYSYS.bck Answer the following prompt to indicate
whether or not you want to edit the configuration file: Do you
want to edit the configuration file? (y/n) [n]:
If you modified the configuration file before you started this
procedure, answer this prompt no.
If you choose to edit the configuration file, the
/usr/sbin/doconfig program invokes the editor specified by the
EDITOR environment variable.
After you finish editing the configuration file, the
/usr/sbin/doconfig program builds a new kernel.
When the /usr/sbin/doconfig program finishes, it displays a mes‐
sage showing the full pathname of the new vmunix kernel. If you
built a statically linked kernel with the -s option which is the
default, copy the new vmunix kernel (from the message noted
above) to /vmunix as follows: # cp /usr/sys/MYSYS/vmunix /vmunix
If you used the -n option, you must copy as well.
If you built a bootstrap linked kernel using the -b option, fol‐
low the instructions displayed by the doconfig program to copy
the built modules and new /etc/sysconfigtab file into place.
Reboot the system as follows: # /usr/sbin/shutdown -r now
If the new vmunix kernel fails to boot, you can recover by booting the
vmunix.save file that you created at the beginning of this procedure:
If you copied and saved the vmunix kernel to a directory other than the
root directory, and your system does not have a bootable kernel such as
genvmunix in the root directory, you will have to boot the system from
the distribution media to get your system to the UNIX shell. Then fol‐
low the procedures in the Installation Guide to mount the appropriate
file systems and copy the saved vmunix to the root directory.
Check all local file systems using the fsck command with the -p option
as follows: # fsck -p Write-enable the root file system using the mount
command with the -u option as follows: # mount -u / If necessary, mount
the file system where the /vmunix.save file is stored. For example, if
you copied the /vmunix file to the /usr filesystem, issue the following
command: # mount /usr Restore the saved copy. For example, if you saved
your running kernel in the /vmunix.save file, issue the following com‐
mand: # cp /vmunix.save /vmunix
If you saved your runnning kernel to the /usr/vmunix.save file,
issue the following command: # cp /usr/vmunix.save /vmunix Shut‐
down and reboot the system, as follows: # shutdown -r now
After your system boots, you can re-edit the configuration file and try
to build the new kernel again by using the /usr/sbin/doconfig command.
For other examples of using the /usr/sbin/doconfig command to build a
new kernel, refer to the System Administration guide.
Specifies the system configuration file, where config_file is usually
the name of the system converted to uppercase letters. For example, on
a system named mysys, the configuration file is named MYSYS. Specifies
the optional configuration file that is used by kernel layered products
to extend the system configuration file. You can modify this file to
remove kernel layered product entries by deleting or putting a comment
character (#) in front of specific entries. Specifies the optional
configuration file that is used by kernel layered products to register
their configuration file requirements. This file is used as the basis
for the config_file.list file and should not be modified. Specifies
the name of the newly-built text file describing the kernel. Specifies
the name of modules for a bootstrap linked kernel. Specifies the name
of the newly-built static kernel. Specifies the name of the network-
bootable kernel for DMS clients.
Commands: config(8), dmu(8), pmerge(8)
Sharing Software on a Local Area Network