A device driver's module path (location) depends on the platform it runs on, the architecture it is compiled for, and whether it is needed at boot time. Platform-dependent device drivers reside in the following locations:
/platform/`uname -i`/kernel/drv – Contains 32–bit drivers that run only on a specific platform (/platform/`uname -i`/kernel/drv/sparcv9 for 64–bit drivers).
/platform/`uname -m`/kernel/drv – Contains 32–bit drivers that run on a family of platforms. This directory might not be present on some platforms (/platform/`uname -m`/kernel/drv/sparcv9 for 64–bit drivers).
Platform-independent drivers reside in either of these directories:
/usr/kernel/drv – Contains 32–bit drivers not required for system booting (/usr/kernel/drv/sparcv9 for 64–bit drivers).
/kernel/drv – Contains 32–bit drivers required for booting (/kernel/drv/sparcv9 for 64–bit drivers).
To install a 32–bit driver, the driver and its configuration file must be copied to a drv directory in the module path. For example, to copy a driver to /usr/kernel/drv, type:
$ su # cp xx /usr/kernel/drv # cp xx.conf /usr/kernel/drv
To install a 64-bit SPARC driver, copy the driver to a drv/sparcv9 directory in the module path. Copy the driver configuration file to the drv directory in the module path. For example, to copy a driver to /usr/kernel/drv, type:
$ su # cp xx /usr/kernel/drv/sparcv9# cp xx.conf /usr/kernel/drv
All driver configuration files (.conf files) must go in the drv directory in the module path. Even on 64–bit systems, the .conf file goes in the drv directory, not the drv/sparcv9 directory.