将内核模块添加到 Debian

Adding kernel module to Debian

我在上面安装了 imx6-quad 和 Debian Jessie。这是有关 (uname -a) 的完整信息:

Linux linaro-alip 4.1.15-g5599520 #1 SMP PREEMPT Sun Jan 8 13:03:20 IST 2017 armv7l GNU/Linux

我正在尝试 运行 CC1350 Launchpad 的 tunslip 应用程序,但我的 OS 中没有内核模块 "tun"。当我运行命令modprobe tun时,我报错:

modprobe: FATAL: Module tun not found.

此时,我不知道如何将 tun 模块安装到我的 Debian 中。我什至不知道从哪里开始。是否可以将 tun 模块添加到 运行ning 操作系统,或者我应该从头开始编译整个内核?如果我可以添加内核模块,我该如何添加到 运行ning OS?

任何帮助对我来说都太宝贵了。

所以,总结一下评论中的讨论,以防其他人遇到同样的问题:

不幸的是,Variscite here 提供的预编译内核映像根本没有 tun 支持。既不在模块中,也不编译到内核中。

如果你想要tun支持,你必须自己编译内核。可以找到来源 here on github.


上一个答案:

由于我还不允许发表评论,请不要将此作为答案,而应将其作为寻找解决方案的建议。

以下命令为您提供了什么?

cat /boot/config-4.1.15-g5599520 | grep CONFIG_TUN

应该是CONFIG_TUN=m。如果没有,可能是你的内核已经支持tun设备了。

您是否尝试过在 /lib/modules 中搜索 tun 模块?如果没有,运行

find /lib/modules/ -name '*tun.ko*'

让我们知道它给你带来了什么。

因为你正在构建你的内核。有几种方法,一种是单独编译模块并将其安装在现有映像上。另一种是与内核一起创建 tun 模块,sdcard 映像创建将负责您的模块。

构建 tun 模块。使用内核文件夹中的 menuconfig。搜索与 CONFIG_TUN 匹配的内容,如果它是一个模块,则将其值更改为 m。重建并再次创建 SD 卡。这是简单的方法。

您也可以单独创建模块,然后将模块放入您的文件系统,但这样更容易出错。