doconfig(8) System Manager's Manual doconfig(8)
doconfig - Builds the kernel described by system configuration files
/usr/sbin/doconfig [-s | -b] [-a | -m] [-c config_file] [-d -n] [-e ed_script]
The /usr/sbin/doconfig program supports the following options: Specifies 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 configura-
tion 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 hard-
ware and software support needed in the kernel.
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, config_file. The
configuration file resides in the /usr/sys/conf directory and is usually named using the system name, in uppercase letters. You must
supply the name of the existing configuration file without specifying the pathname.
The /usr/sbin/doconfig program also uses any existing config_file.list file. If there is no config_file.list file and a file exists,
/usr/sbin/doconfig copies the file to the config_file.list file. These files must exist in the /sys/conf directory. Specifies that
only device special files are created. 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 informa-
tion, 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 modify 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 sysconfig(8) reference page.
If you need to rebuild the kernel by using the /usr/sbin/doconfig program, 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/con-
fig_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 program 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 possible, 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 program as follows: #
/usr/sbin/doconfig -c MYSYS *** KERNEL CONFIGURATION 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 configura-
tion 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
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 message 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, follow 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 proce-
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 follow 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 exam-
ple, if you saved your running kernel in the /vmunix.save file, issue the following command: # 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 Shutdown
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 com-
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. Spec-
ifies 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