【问题标题】:Adding kernel module to Debian将内核模块添加到 Debian
【发布时间】:2017-06-21 17:46:14
【问题描述】:

我已经安装了 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 应用程序,但我的操作系统中没有内核模块“tun”。当我运行命令modprobe tun 时,我给出了一个错误:

modprobe: FATAL: Module tun not found.

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

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

【问题讨论】:

  • Stack Overflow 是一个编程和开发问题的网站。这个问题似乎离题了,因为它与编程或开发无关。请参阅帮助中心的What topics can I ask about here。也许Super UserUnix & Linux Stack Exchange 会是一个更好的提问地方。另见Where do I post questions about Dev Ops?
  • @jww,stackoverflow 中有很多与kernelkernel modules 相关的问题。为什么你认为我的问题不适合 stackoverflow?
  • 你没有被挑出来。堆栈溢出有很多离题的问题。 Stack Overflow 已成为垃圾场。提供自定义关闭消息是为了让您指出正确的方向,因为该网站在教育人们方面做得很差。一旦您了解了 Unix 和 Linux Stack Exchange,您可能会使用它(对于此类问题,答案通常会更好)。
  • there are plenty of questions related to kernel and kernel modules in stackoverflow. Why do you think that my question is inappropriate for stackoverflow? - 关于编写自己的内核模块的问题是主题,因为它们是编程问题。但是关于使用系统内核模块的问题,就像给定的问题一样,是题外话,因为它们与编程无关

标签: linux arm debian kernel-module


【解决方案1】:

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

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

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


上一个答案:

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

下面的命令给你什么?

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

应该是CONFIG_TUN=m。如果不支持,可能是您的内核已经支持 tun 设备。

您是否尝试在/lib/modules 中搜索tunmodules?如果没有,请运行

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

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

【讨论】:

  • /boot 目录为空,/lib/modules 文件夹中没有tun 模块。顺便说一句,我正在从 sdcard 运行操作系统。
  • 您是通过apt-get 安装内核还是自己构建的?
  • 它是自定义内核,您可以在github.com/varigit/linux-2.6-imx 中找到它。我使用的是预编译的磁盘映像,不是我自己构建的。
  • 预编译的镜像在哪里?我只能在这个 git repo 中找到源代码。
  • 对不起,这是我创建 sdcard 时的指南。 variwiki.com/…
【解决方案2】:

在构建内核时。有两种方法,一种是单独编译模块并将其安装在现有映像上。另一种是与内核一起创建 tun 模块,然后创建 sdcard 映像将处理您的模块。

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-07-06
    • 2021-10-07
    • 2018-06-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-04-04
    相关资源
    最近更新 更多