The linux module can be linked into the kernel statically with the COMPAT_LINUX kernel configuration option or loaded as required. The following command will load the module if it is neither linked into the kernel nor already loaded as a module:
if ! kldstat -v | grep -E linux(aout|elf) > /dev/null; then
kldload linux > /dev/null 2>&1
Note that dynamically linked Linux executables will require a suitable environment in /compat/linux. Specifically, the Linux run-time linkers hints files should be correctly initialized. For this reason, it is common to execute the following commands to prepare the system to correctly run Linux executables:
if [ -x /compat/linux/sbin/ldconfig ]; then
For information on loading the linux kernel loadable module automatically on system startup, see rc.conf(5). This information applies regardless of whether the linux module is statically linked into the kernel or loaded as a module.