About Linux FAQ

Browse More FAQs:

Howto: Linux add remove a Linux kernel modules / drivers

Posted by Vivek on Wednesday January 24, 07 @9:40 pm

Q. How do I add or remove hardware device driver from running Linux kernel?

A. Linux comes with modprobe command to add and remove modules from the Linux Kernel.

=> Under MS-Windows you use term device driver.

=> Under Linux you use term modules

=> The Linux kernel has a modular design.

=> At boot time, only a minimal resident kernel is loaded into memory.

=> If you add new hardware you need to add driver aka modules

=> modprobe intelligently adds or removes a module from the Linux kernel

=> Usually modules stored in the module directory /lib/modules/$(uname -r)
$ ls /lib/modules/$(uname -r)
Output:

boot   initrd  misc           modules.ccwmap  modules.ieee1394map  modules.isapnpmap  modules.symbols  source
build  kernel  modules.alias  modules.dep     modules.inputmap     modules.pcimap     modules.usbmap

Task: Add a module called foo

Type the command as root user:
# modprobe foo

Task: List all loaded modules

Use lsmod command to show the status of modules in the Linux Kernel:
# lsmod
Output:

Module                  Size  Used by
smbfs                  75465  0
md5                     5953  1
ipv6                  284193  10
ipt_TOS                 4033  2
iptable_mangle          4545  1
ip_conntrack_ftp       74801  0
ip_conntrack_irc       74033  0
ipt_REJECT              8897  43
ipt_LOG                 8513  2
ipt_limit               4033  6
iptable_filter          4673  1
ipt_multiport           3521  4
ipt_state               3393  16
ip_conntrack           54297  3 ip_conntrack_ftp,ip_conntrack_irc,ipt_state
ip_tables              21825  8 ipt_TOS,iptable_mangle,ipt_REJECT,ipt_LOG,ipt_limit,iptable_filter,ipt_multiport,ipt_state
i2c_dev                13889  0
i2c_core               28865  1 i2c_dev
dm_mirror              32721  0
dm_mod                 68609  1 dm_mirror
button                  9313  0
battery                11465  0
ac                      6985  0
ohci_hcd               24529  0
ehci_hcd               33989  0
tg3                   109381  0
floppy                 66065  0
ext3                  137937  2
jbd                    69105  1 ext3
sata_svw               10053  3
libata                 78345  1 sata_svw
sd_mod                 19393  4
scsi_mod              141457  2 libata,sd_mod

Task: Remove a module called foo

Pass -r option to modprobe command to remove a module
# modprobe -r foo
You can also use rmmod command, which is simple program to remove a module from the Linux Kernel
# rmmod foo

Subscribe to our free e-mail newsletter or RSS feed to get all updates. You can Email this page to a friend.

Related Linux / UNIX FAQ:

Leave a Reply

We encourage your comments, and suggestions. But please stay on topic, be polite, and avoid spam. Please do not use the comment form to ask for help / question. Ask your question on the excellent Linux tech support forum. Thank you very much for stopping by our site!

XHTML: You can use these tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

*
To prove you're a person (not a spam script), type the security word shown in the picture. Click on the picture to hear an audio file of the word.
Click to hear an audio file of the anti-spam word

~ Last updated on: January 25, 2007

Copyright © 2006-2008 nixCraft. All rights reserved - TOS/Disclaimer - Privacy policy - Sitemap - Powered by Open source software.