Linux设备驱动常用的命令码简介 (linux设备驱动命令码)
Linux设备驱动是指为了让硬件设备与操作系统能够相互配合而编写的软件,主要有Char驱动、Block驱动和网络驱动。相对于Windows设备驱动,Linux设备驱动有着更高的可定制性和学习门槛。在学习设备驱动的过程中,必须掌握一些Linux设备驱动常用的命令码,下面进行简单介绍。
1. inod
inod是Linux系统中用于将驱动程序加载到内核中的命令。当需要使用某个驱动程序时,内核会在自己的库中寻找相应的驱动程序。如果没有找到对应驱动程序,则需要使用inod命令将其加载到内核中,让系统成功识别该设备。
用法:
$ inod ~/mydriver.ko
2. modprobe
modprobe命令是一个更加高级的进程,它更方便、快捷地管理内核模块的行为。modprobe命令不仅可用于加载内核模块,还可用于对内核模块进行卸载、安装、依赖修复、更新等操作。
用法:
$ modprobe -r mydriver # 卸载mydriver.ko
$ modprobe mydriver # 安装mydriver.ko
3. rmmod
rmmod命令用于从Linux内核中卸载一个设备驱动程序,释放内存和其他资源。“rmmod驱动程序名”即可调用该命令。rmmod命令不能直接从硬件上移除驱动程序,而是将该驱动的模块从内核中卸载,对应程序的所有资源也会被释放掉。
用法:
$ rmmod mydriver # 从内核中卸载mydriver.ko
4. lod
lod命令是Linux系统中查看当前内核中加载的所有设备驱动的命令。这个命令可以帮助我们快速了解当前系统驱动程序的使用情况。
用法:
$ lod
5. modinfo
modinfo命令可以查看内核模块的详细信息,包括模块作者、版本、描述等信息。通过这个命令,我们可以更加清晰地了解驱动程序的相关信息。
用法:
$ modinfo mydriver.ko
6. inod-l
inod-l将显示任何可能存在的模块之间的依赖关系,包括子模块和其他模块。这个命令可以用来探索模块间的依赖关系。
用法:
$ inod -l mydriver.ko
7. depmod
depmod命令可以创建一个依赖关系文件,使之后的一些操作能更加快速预测和兼容模块的使用情况。
用法:
$ depmod -a
8. modprobe-d
modprobe-d命令可以将网卡设备从内核卸载。这个命令一般只用于网络设备的卸载。它是通过删除已经加载的模块,然后再重新加载模块的方式来实现设备的卸载。
用法:
$ modprobe -d /lib/modules/4.9.125/kernel/drivers/net/ethernet/intel/igb/igb.ko # 卸载intel网卡
需要注意的是,Linux设备驱动常用的命令码可能会因系统版本和驱动程序本身的差异而发生变化。因此,在具体应用中,还需结合当时系统的实际情况,选择合适的命令。