Yocto: добавление модуля ядра к изображению - PullRequest
0 голосов
/ 15 мая 2018

Я добавил пакет 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.

Кажетсякак будто у меня отсутствует модуль ядра.

Нужна ваша помощь в добавлении стандартного модуля ядра в образ (где я могу найти все файлы модулей и как мне добавить и загрузить его в образ).

1 Ответ

0 голосов
/ 13 июня 2019

Вы должны добавить модуль 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

...