linux - yocto Linux : can't include TUN/TAP kernel driver

标签 linux linux-kernel embedded-linux yocto openembedded

我正在使用 Yocto 为 zedboard 构建自定义 Linux 镜像。我需要在 Zedboard 上运行 openVPN,这需要访问 TUN/TAP 虚拟网络接口(interface)。我使用元网络层成功地将 openVPN 及其所有依赖项合并到我的镜像中,但镜像中似乎不存在必要的 TUN/TAP 内核驱动程序。

如何确保 TUN/TAP 内核驱动程序包含在我的镜像中?

我的conf/local.conf 文件中有以下两行: IMAGE_INSTALL_append = "内核模块" CORE_IMAGE_EXTRA_INSTALL +=“openssl openvpn docker tunctl

我不知道如何将它们包含在我的(否则普通的)linux-xlnx 内核中。我尝试将 kernel-module-tun 添加到我的 IMAGE_INSTALL_append 中,如上所述 here ,但它似乎不是我的任何层提供的有效包。

我还尝试使用 bitbake -c menuconfig virtual/kernel 手动包含镜像中的模块,但是在执行此操作并重新运行 bitbake core-image-minimal 后,我仍然没有看到 tun.ko 出现在这两个位置中的任何一个位置下面我希望它们被安装到...

${BUILDDIR}/tmp/work/zedboard_zynq7-poky-linux-gnueabi/core-image-minimal/1.0-r0/rootfs/lib/modules/4.6.0-xilinx-v2016.3/kernel/net/

${BUILDDIR}/tmp/work/zedboard_zynq7-poky-linux-gnueabi/linux-xlnx/4.6-xilinx-v2016.3+gitAUTOINC+0e4e407149-r0/image/lib/modules/4.6.0-xilinx-v2016.3/kernel/net

感谢任何帮助,谢谢!

最佳答案

您真的在构建 tun 模块吗?如果是这样,添加 IMAGE_INSTALL_append = "kernel-module-tun"` 应该对您有用。

尝试运行:

bitbake virtual/kernel -c menuconfig

并验证您是否正在构建 tun 模块。

关于linux - yocto Linux : can't include TUN/TAP kernel driver,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44313423/

相关文章:

c++ - 如何使用cmake将cuda文件正确链接到cpp文件

linux - 如何将elf中的地址转换为物理地址

linux-kernel - 如何捕捉网卡中断(上/下)?

c - 获取 : "unable to handle kernel paging request" when trying to read

linux - 如何在嵌入式 Linux (ARM) 中读取/写入通过 SPI 连接的闪存?

linux - Yocto:bitbake 退出代码困惑

c++ - GDB 自动激活并具有 100% 的 CPU 事件

linux - 在 shell 脚本中使用相同的命令,只是带有前缀

linux - 处理 git 的行尾

embedded-linux - AM335x 看门狗不工作