Q. I know how to find out information about compiled driver under FreeBSD kernel. But, how do I find out if a Particular feature, driver or filesystem support is compiled into my running Linux kernel or not? How do I find out if DMA support is compiled into my kernel?
A. Current Linux kernel configuration is stored in .config file or config-$(uname -r) file:
[a] /boot/config-$(uname -r) or /boot/config-$(uname -r)*: Automatically generated kernel config file. This file present under almost all Linux distros including RHEL / CentOS / Fedora / Debian / Ubuntu Linux.
If there is not a /usr/src/kernels/$(uname -r)-$(uname -m)/ directory on your system, then the kernel source has not been installed. Use apt-get or yum command to install kernel source.
Find out if DMA support compiled or not, enter:
grep -i DMA .config
OR
grep -i DMA /boot/config-$(uname -r)*
Sample output:
CONFIG_GENERIC_ISA_DMA=y CONFIG_ISA_DMA_API=y CONFIG_BLK_DEV_IDEDMA_PCI=y # CONFIG_BLK_DEV_IDEDMA_FORCED is not set CONFIG_IDEDMA_PCI_AUTO=y # CONFIG_IDEDMA_ONLYDISK is not set # CONFIG_HPT34X_AUTODMA is not set CONFIG_BLK_DEV_IDEDMA=y # CONFIG_IDEDMA_IVB is not set CONFIG_IDEDMA_AUTO=y CONFIG_SCSI_SYM53C8XX_DMA_ADDRESSING_MODE=1 CONFIG_PDC_ADMA=m # CONFIG_PATA_OPTIDMA is not set CONFIG_I2O_EXT_ADAPTEC_DMA64=y CONFIG_BCM43XX_DMA=y CONFIG_BCM43XX_DMA_AND_PIO_MODE=y # CONFIG_BCM43XX_DMA_MODE is not set CONFIG_CARDMAN_4000=m CONFIG_CARDMAN_4040=m # DMA Engine support CONFIG_DMA_ENGINE=y # DMA Clients CONFIG_NET_DMA=y # DMA Devices CONFIG_INTEL_IOATDMA=m CONFIG_HAS_DMA=y
For simplicity, most lines only contain one argument. Anything following a # is considered a comment and ignored. The option CONFIG_HAS_DMA has total 3 possiblities:
- CONFIG_HAS_DMA=y: DMA support compiled.
- CONFIG_HAS_DMA=m: DMA support compiled as a loadable kernel module.
- CONFIG_HAS_DMA=n: No DMA support.
🐧 Get the latest tutorials on Linux, Open Source & DevOps via:
- RSS feed or Weekly email newsletter
- Share on Twitter • Facebook • 0 comments... add one ↓
Category | List of Unix and Linux commands |
---|---|
File Management | cat |
Firewall | Alpine Awall • CentOS 8 • OpenSUSE • RHEL 8 • Ubuntu 16.04 • Ubuntu 18.04 • Ubuntu 20.04 |
Network Utilities | dig • host • ip • nmap |
OpenVPN | CentOS 7 • CentOS 8 • Debian 10 • Debian 8/9 • Ubuntu 18.04 • Ubuntu 20.04 |
Package Manager | apk • apt |
Processes Management | bg • chroot • cron • disown • fg • jobs • killall • kill • pidof • pstree • pwdx • time |
Searching | grep • whereis • which |
User Information | groups • id • lastcomm • last • lid/libuser-lid • logname • members • users • whoami • who • w |
WireGuard VPN | Alpine • CentOS 8 • Debian 10 • Firewall • Ubuntu 20.04 |