我使用iptables
将CORE_IMAGE_EXTRA_INSTALL += "iptables"
包添加到我的设备图片中。
我尝试在设备上运行它并收到以下错误消息:
# iptables -L
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.
好像我缺少了内核模块。
需要您帮助将标准内核模块添加到映像中(在哪里可以找到所有模块文件以及如何添加并加载到映像中)。
提前致谢!
答案 0 :(得分:1)
必须将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"
~
bitbake your-image-name
这对我的情况有效。顺便说一句,我从以下网站获得了该信息:
祝您愉快:D