Yocto:向映像添加内核模块

Nic*_*ick 1 kernel-module yocto

iptables使用 . 将包添加到我的设备映像中CORE_IMAGE_EXTRA_INSTALL += "iptables"

我尝试在设备上运行它并收到以下错误消息:

modprobe: FATAL: Module ip_tables not found in directory /lib/modules/4.9.11-1.0.0+gc27010d
iptables v1.6.1: can't initialize iptables table `filter': Table does not exist (do you need to insmod?)
Perhaps iptables or your kernel needs to be upgraded.
Run Code Online (Sandbox Code Playgroud)

好像我缺少内核模块。

需要您的帮助来将标准内核模块添加到映像中(在哪里可以找到所有模块文件以及如何将其添加并加载到映像中)。

jda*_*ena 8

您必须将该iptables模块添加到内核中。我遇到了同样的问题,我可以通过以下步骤解决它:

  • 跑步bitbake -c menuconfig virtual/kernel
  • 激活CONFIG_IP_NF_IPTABLES模块(您可以在该菜单上输入斜杠“/”搜索其位置)。
  • 保存并运行bitbake -c savedefconfig virtual/kernel以将该文件另存为 defconfig。
  • defconfig将文件从返回的路径复制到yocto-distro/layer-name/recipes-kernel/linux/files/(如果不存在则创建此目录)。
  • 在里面创建一个与图层中的原始配方文件同名的.bbappend文件。yocto-distro/layer-name/recipes-kernel/linux/meta
  • 编辑您的文件并添加以下行:
SRC_URI += "file://defconfig"
KERNEL_DEFCONFIG = "${WORKDIR}/defconfig"
FILESEXTRAPATHS_prepend := "${THISDIR}/files"
~
Run Code Online (Sandbox Code Playgroud)
  • 重新启动bitbake your-image-name

它适合我的情况。顺便说一句,我从以下网站获得了该信息:

祝你今天过得愉快!:D