lboot(1M)                                                            lboot(1M)


NAME
     lboot - configure bootable kernel

SYNOPSIS
     lboot options

DESCRIPTION
     The lboot command is used to configure a bootable UNIX kernel.  Master
     files in the directory master contain configuration information used by
     lboot when creating a kernel.  System files in the directory system are
     used by lboot to determine which modules are to be configured into the
     kernel.

     If a module in master is specified in the system file via "INCLUDE:",
     that module is included in the bootable kernel.  For all included
     modules, lboot searches the boot directory for an object file with the
     same name as the file in master, but with a .o or .a appended.  If found,
     this object is included when building the bootable kernel.

     For every module in the system file specified via "VECTOR:", lboot takes
     actions to determine if a hardware device corresponding to the specified
     module exists.  Generally, the action is a memory read at a specified
     base, of the specified size.  If the read succeeds, the device is assumed
     to exist, and its module is also included in the bootable kernel.

     Master files that are specified in the system file via "EXCLUDE:" are
     also examined; stubs are created for routines specified in the excluded
     master files that are not found in the included objects.

     Master files that are specified in the system file via "USE:" are treated
     as though the file were specified via the "INCLUDE:" directive, if an
     object file corresponding to the master file is found in the boot
     directory.  If no such object file is found, "USE:" is treated as
     "EXCLUDE:".

     To create the new bootable object file, the applicable master files are
     read and the configuration information is extracted and compiled.  The
     output of this compilation is then linked with all included object files.
     Unless directed otherwise in the system file, the information is compiled
     with $TOOLROOT/usr/bin/cc and combined with the modules in the boot
     directory using $TOOLROOT/usr/bin/ld.

     The options are:

     -m master   Specifies the directory containing the master files to be
                 used for the bootable kernel.  The default master directory
                 is $ROOT/var/sysgen/master.d.

     -s system   Specifies the directory containing the system files.  The
                 default system directory is $ROOT/var/sysgen/system.


     -b boot     Specifies the directory where object files are to be found.
                 The default boot directory is $ROOT/var/sysgen/boot.

     -n mtune    Specifies the directory where tunable parameters are to be
                 found.  The default mtune directory is
                 $ROOT/var/sysgen/mtune.

     -c stune    Specifies the name of the file defining customized tunable
                 parameter values.  The default stune file is
                 $ROOT/var/sysgen/stune.

     -r ROOT     ROOT becomes the starting pathname when finding files of
                 interest to lboot.  Note that this option sets ROOT as the
                 search path for include files used to generate the target
                 kernel.  If this option is not specified, the ROOT
                 environment variable (if any) is used instead.

     -v          Makes lboot slightly more verbose.

     -u unix     Specifies the name of the target kernel.  By default, it is
                 unix.new, unless the -t option is used, in which case the
                 default is unix.install.

     -d          Displays debugging information about the devices and modules
                 put in the kernel.

     -a          Used to auto-register all dynamically loadable kernel modules
                 that contain a d and an R in their master files.  Only the
                 auto-register is performed, a kernel is not configured.

     -N          Disables auto-registering of all dynamically loadable
                 modules.  A kernel is produced, but no auto-registration is
                 performed.

     -l          Used to ignore the d in all master files and link all
                 necessary modules into the kernel.

     -e          Causes the result of whether an auto-config would have been
                 performed to be printed, but no actual configuration is
                 built.

     -w          Used to specify a work directory into which the master.c and
                 edt.list files are written.  By default these files are
                 written into the boot directory.

     -t          Tests if the existing kernel is up-to-date.  If the kernel is
                 not up-to-date, it prompts you to proceed.  It compares the
                 modification dates of the system files, the object files in
                 the boot directory, the modification time of the boot
                 directory, the configuration files in the master.d directory
                 and the modification time of the stune file with that of the
                 existing kernel.  It also probes for the devices specified


                 with "VECTOR:" lines in the system file.  If the devices have
                 been added or removed, or if the kernel is out-of-date, it
                 builds a new kernel, adding .install to the target name.

     -T          Performs the same function as the -t option, but does not
                 prompt you to proceed.

     -O tags     Specifies tags to be used to select which tunable parameters
                 to use as part of the the kernel build.  Multiple -O options
                 may be given.

     -L master   Specifies the name of the dynamically loadable kernel module
                 to load into the running kernel.  master is the name of a
                 master file in the $ROOT/var/sysgen/master.d directory.

     -R master   Specifies the name of the dynamically loadable kernel module
                 to register.  master is the name of a master file in the
                 $ROOT/var/sysgen/master.d directory.

     -U id       Used to unload a dynamically loadable kernel module.  id is
                 found by using the lboot -V command.

     -W id       Used to unregister a dynamically loadable kernel module.  id
                 is found by using the lboot -V command.

     -V          Used to list all of the currently registered and loaded
                 dynamically loadable kernel modules.

     It is best to reconfigure the kernel on a system with the autoconfig
     command.

EXAMPLE
          lboot -s newsystem

     Reads the file named newsystem to determine which objects should be
     configured into the bootable object.

FILES
     /var/sysgen/system
     /var/sysgen/master.d/*
     /var/sysgen/boot/*
     /var/sysgen/mtune/*
     /var/sysgen/stune

SEE ALSO
     autoconfig(1M), setsym(1M), systune(1M), master(4), mload(4), mtune(4),
     stune(4), system(4).


                                                                        Page 3