Solaris Transition Guide

Kernel Configuration

Unlike in the SunOS release 4 software, the SunOS release 5.7 kernel is dynamically configured. This means that you no longer need to rebuild it manually when you make changes to the system configuration.

Starting with release 5.5 of the SunOS software, the kernel and its modules were separated into platform-independent and platform-dependent objects. The platform-independent kernel consists of a small static core, called /kernel/genunix, and its dynamically loadable kernel modules are stored in the /kernel and /usr/kernel directories if they are platform independent, and /platform and /usr/platform if they are platform independent. See System Administration Guide, Volume I for a description of the platform-dependent directories and their contents.

Drivers, file systems, the STREAMS module, and other modules are loaded automatically as needed, either at boot time or at run time. These modules are unloaded when they are no longer in use. The modinfo(1M) command provides information about the modules currently loaded on a system.

The modload(1M) and modunload(1M) commands are still available in this release but they perform differently. These commands have more limited usage, and are no longer sufficient to correctly install a loadable driver onto the system. The modunload(1M) command is similar to the SunOS release 4 command, but it includes the capability to unload all unloadable (and not busy) modules, as the following example illustrates.

# modunload -i 0

Chapter 18, System and Device Configuration, discusses these topics in more detail.

Kernel Layout

The contents of the kernel, which were formerly in a single file, /vmunix, are now contained in modules in a platform-independent and platform-dependent directory hierarchy. By default, the directory hierarchy is:

The directory search path for modules can be set by the moddir variable in the /etc/system file. Typically, /kernel/genunix is the first portion of the kernel to be loaded. See system(4) and kernel(1M) for more information.