编译
CentOS vault镜像地址(CentOS系统本身的相关代码)
https://mirrors.tuna.tsinghua.edu.cn/centos-vault
找一个kernel src RPM,例如:
https://mirrors.tuna.tsinghua.edu.cn/centos-vault/7.9.2009/os/Source/SPackages/kernel-3.10.0-1160.el7.src.rpm
编译方式参考
https://blog.csdn.net/u011228841/article/details/116779282
仅更新内核模块,不替换内核
编译完内核后,编译的是ko文件,发现系统目录是ko.xz的后缀,于是用xz自行打包
压缩为xz文件:xz -z option.ko
解压xz文件:xz -d option.ko.xz
拷贝ko到系统目录并更新依赖以支持自动加载驱动
根据需要卸载驱动
lsmod |grep option
sudo modprob -r option
KO_DIR=/usr/lib/modules/3.10.0-1160.25.1.el7.x86_64/kernel/drivers/usb/serial/
sudo cp -av option.ko.xz ${KO_DIR}
sudo chmod 644 ${KO_DIR}option.ko.xz
sudo chown root:root ${KO_DIR}option.ko.xz
/lib/modules/3.10.0-1160.25.1.el7.x86_64/modules.alias 添加一行:
alias usb:vXXXXpXXXXd*dc*dsc*dp*ic*isc*ip*in* option
v和p后的ID用lsusb查看,modules.alias添加识别到Vendor ID和Product ID后自动加载驱动option
更新module.alias,会生成module.alias.bin ,这一步执行后上一条加的规则才能被depmod识别:
sudo depmod -a