# "device" meaning in kernel configuration



## klugja (Apr 17, 2013)

I recently tried to build infiniband for my kernel.  The FreeBSD Wiki for infiniband says to add the following device statements to the kernel configuration (along with options):


```
device         ipoib           # IP over IB devices
device         mlx4ib          # ConnectX Infiniband support
device         mlxen           # ConnectX Ethernet support
device         mthca           # Infinihost cards
```

I noticed after the kernel build there were loadable modules corresponding to the last three, but none for ipoib.  Is this correct?  How does one trace what these things do in the makes?  The documentation for the kernel configuration file doesn't seem to mention that some of these _device_ statements produce loadable modules, and some don't.  The documentation for the kernel configuration file talks about the NOTES file, but ipoib is not mentioned at all in any of the NOTES files.


----------



## Terry_Kennedy (Apr 18, 2013)

klugja said:
			
		

> I noticed after the kernel build there were loadable modules corresponding to the last three, but none for ipoib.  Is this correct?  How does one trace what these things do in the makes?  The documentation for the kernel configuration file doesn't seem to mention that some of these _device_ statements produce loadable modules, and some don't.


"device" lines in the kernel config specify which devices should be _built into_ the kernel. They don't control the creation of modules. For various reasons, some devices can only be built as modules while some others can only be built into the kernel. Most can be done either way.

Unless you have added odd things to /etc/make.conf, all modules are built when you [cmd=""]make kernel[/cmd], regardless of whether they are listed in the kernel config file or not.


----------

