Linux驱动ko文件操作命令以及开机自加载

Linux驱动ko文件开机自动加载配置

前言

Linux开发过程中,有时候需要安装第三方驱动文件,甚至希望重启后驱动配置仍然有效,本文将介绍如何安装驱动、卸载驱动以及保留驱动配置。

1、命令示例

	lsmod     查看内核已加载的模块
	lsmod
	lsmod|grep cp210x
	 
	modinfo   显示模块的详细描述信息
	modinfo cp210x#显示xfs模块的描述信息
	modinfo -n cp210x#显示模块的文件路径
	modinfo -p cp210x#显示模块参数
	modinfo -p cp210x#不是左右模块都有参数的
	modinfo -a cp210x#作者
	modinfo -d cp210x#描述信息
	modinfo -l cp210x#license
	
	insmod	 将指定模块加载到内核,安装模块,不自动解决依赖模块
	rmmod 	 将已加载模块从内核中移除
	
	modprobe 加载或卸载内核模块,需要根据modules.dep.bin文件进行加载操作,可以自动解决模块间的依赖关系表
	modprobe cp210x              #加载模块
	modprobe -r cp210x		     #卸载模块
	modprobe -v floppy #无参数默认安装模块,-v显示详细信息
	modprobe -r -v floppy #模块闲置不用时,即自动卸载模块。
	
	depmod 分析可加载模块的依赖性,生成modules.dep文件和映射文件。查找/lib/modules/(uname -r)/中的所有模块并建立modules.dep.bin文件,
	该文件记录了模块位置及依赖关系
	depmod -a #显示可用模块

2. 命令实现流程

以安装cp210x为例:

	rm /lib/modules/<kernel-version>/kernel/drivers/usb/serial/cp210x.ko   #删除旧驱动文件
	rmmod cp210x  #卸载旧驱动
	cp cp210x.ko /lib/modules/<kernel-version>/kernel/drivers/usb/serial  #复制新驱动
	insmod /lib/modules/<kernel-version/kernel/drivers/usb/serial/usbserial.ko #安装当前驱动的依赖驱动
	insmod cp210x.ko  #安装新驱动
	cd /lib/modules/<kernel-version>/kernel/drivers/usb/serial
	depmod   #更新驱动依赖文件,保证重启后自动安装
### 加载设备驱动程序的方法 在 Linux 系统中,加载设备驱动程序可以通过多种方式完成。以下是几种常见的方法及其具体操作: #### 动态加载模块 动态加载模块是最常见的方式之一。通过 `insmod` 或 `modprobe` 命令可以将编译好的 `.ko` 文件加载到内核中。 - 使用 `insmod` 命令手动加载模块: ```bash insmod yourdrivername.ko ``` 这种方式适用于简单的模块加载场景,但不会处理模块依赖关系[^4]。 - 使用 `modprobe` 自动加载并解析依赖项: ```bash modprobe yourdrivername ``` 如果存在其他依赖的模块,则会自动加载这些模块。 #### 配置开机自启加载 为了使驱动程序在系统启动时自动加载,可将其添加至 `/etc/modules` 文件或创建相应的配置文件。 - 将模块名写入 `/etc/modules` 文件: ```plaintext echo "yourdrivername" >> /etc/modules ``` - 另外,也可以编辑 `/etc/rc.d/rc.local` 文件,在其中加入如下命令以确保模块被加载: ```bash /sbin/modprobe yourdrivername ``` 此方法同样支持指定参数传递给模块。 #### 设备树中的 I2C 设备加载 对于基于 Device Tree 的平台(如嵌入式 ARM),I2C 设备通常会在设备树中定义。当内核启动时,它会读取 device tree 并初始化所列的 i2c 设备及其对应驱动程序[^1]。 #### 字符设备节点创建 某些类型的设备还需要额外的操作来生成设备节点。例如字符设备需要调用 `mknod` 创建设备文件: ```bash mknod /dev/demo_drv c 主设备号 次设备号 ``` 这里,“主设备号”和“次设备号”由驱动程序注册时决定[^5]。 #### 总结 以上介绍了不同情况下如何在 Linux加载设备驱动程序的技术细节以及注意事项。无论是通过命令行工具还是修改系统配置文件都可以实现这一目标。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值