在Linux中,如何添加或者删除内核模块/驱动程序
时间:2019-11-20 08:54:13 来源:igfitidea点击:
使用Linux系统自带的 modprobe命令,可以在Linux内核中添加和删除模块。
在Linux中的模块就是Windows下 “设备驱动程序“ 的意思。
在Linux启动时,只有一个最小的驻留内核被加载到内存中。
如果添加新硬件,则需要添加驱动程序,即模块。
所有Linux内核模块(驱动程序)都存储在位于 /lib/modules/$(uname -r)目录中。
Linux中如何查看驱动程序(当前的模块)
$ ls /lib/modules/$(uname -r)
输出示例:
build modules.ccwmap modules.order initrd modules.dep modules.pcimap kernel modules.dep.bin modules.seriomap misc modules.devname modules.softdep modules.alias modules.ieee1394map modules.symbols modules.alias.bin modules.inputmap modules.symbols.bin modules.builtin modules.isapnpmap modules.usbmap modules.builtin.bin modules.ofmap updates
使用以下命令列出各种设备的所有驱动程序:
$ ls /lib/modules/$(uname -r)/kernel/drivers/
如何添加或者删除运行Linux内核的硬件设备驱动程序(模块)?
使用 modprobe命令智能地在Linux内核中添加或者删除模块
例如 ,添加一个名为foo的模块(驱动程序)
以root用户身份执行以下命令:
# modprobe foo # modprobe -v foo
查看加载模块信息
使用 modinfo命令可以查看有关Linux内核模块的信息。
# modinfo -v foo # modinfo foo
如何列出Linux中所有加载的模块
lsmod命令显示Linux内核中模块的状态:
# lsmod
输出示例:
Module Size Used by md5 5953 1 ipv6 284193 10 ipt_TOS 4033 2 iptable_mangle 4545 1 ip_conntrack_ftp 74801 0
Linux中如何移除一个模块
modprobe -r命令用于删除模块
# modprobe -r foo
我们还可以使用rmmod命令,从Linux内核中删除模块:
# rmmod foo