在 Linux 中,“加载驱动”通常指加载内核模块(Kernel Module,.ko 文件)或让内核在启动时自动加载驱动。下面按常见场景说明。
lsmod
或
cat /proc/modules
sudo insmod /path/to/driver.ko
或(推荐,自动处理依赖):
sudo modprobe driver_name
modprobe不需要写.ko,只要模块在/lib/modules/$(uname -r)/中。
sudo rmmod driver_name
或
sudo modprobe -r driver_name
modinfo driver_name
sudo vim /etc/modules-load.d/my_driver.conf
内容:
my_driver
系统启动时会自动 modprobe my_driver
sudo vim /etc/modprobe.d/my_driver.conf
示例:
options my_driver param=1
在 ARM / 嵌入式(如树莓派、i.MX、RK) 中:
compatible 匹配驱动中的 of_match_table=y 或 =m)示例:
&i2c1 {
my_device@50 {
compatible = "vendor,my-driver";
reg = <0x50>;
};
};
如果是自己写的驱动:
make
sudo cp my_driver.ko /lib/modules/$(uname -r)/kernel/drivers/
sudo depmod -a
sudo modprobe my_driver
modprobe: FATAL: Module not found/lib/modules/$(uname -r)/depmod -ainsmod: ERROR: could not insert moduledmesg | tail
insmodPC Linux:
insmod / modprobe
嵌入式 Linux: 设备树 + 内核配置
开机加载:/etc/modules-load.d/
如果你有具体场景(比如 USB、PCI、树莓派、自己写的驱动),可以告诉我,我可以给你更精确的命令。