技术|Linux 如何加入自己的内核驱动并自动加载
本文以 TUN/TAP 驱动为例
编译自己的内核驱动 ko 文件
此处可以是自己编译的内核,也可以是第三方的 ko 内核驱动文件。
确认 ko 文件与你的内核版本一致
root@yiqisoft:~# modinfo tun.ko
filename: /root/tun.ko
alias: devname:net/tun
alias: char-major-10-200
license: GPL
author: (C) 1999-2004 Max Krasnyansky <maxk@qualcomm.com>
description: Universal TUN/TAP device driver
depends:
intree: Y
name: tun
vermagic: 5.10.110 SMP mod_unload aarch64
导入 ko 文件到系统
复制到你的内核驱动所在目录
cp tun.ko /lib/modules/5.10.110/kernel/drivers/net/tun.ko
遍历你的驱动目录
depmod
配置自动加载
将内核名称加入自动加载文件: /etc/modules
echo "tun" >> /etc/modules
手动加载试一下
逐步运行以下命令确认记载成功
root@yiqisoft:~# modprobe tun
root@yiqisoft:~# lsmod |grep tun
tun 45056 0
root@yiqisoft:~#
重启
默认应该加载成功。