I'm using this NPi i.MX6ULL (armhf) board here. It comes with a customised linux distribution, based on Debian Buster. But it's been completely stripped down to the bare minimum.

My question isn't related to the board, it's more about the linux kernel. I was trying to get a firewall up and running on it, but nothing was working. I've found that there's a lot of common kernel modules missing (see lsmod output below).

So basically I understand that I'm missing the nf_tables and ip_tables modules. But now my stupid question is -- how do I add them? Where do I get them from? I've 'apt install nftables' and all other sorts of things. But nothing adds the modules in there.

Any help? Thanks!

debian@npi:~/libmnl$ cat /etc/os-release 
PRETTY_NAME="Debian GNU/Linux 10 (buster)"
NAME="Debian GNU/Linux"
VERSION="10 (buster)"

debian@npi:~/libmnl$ uname -r
debian@npi:~/libmnl$ lsmod
Module                  Size  Used by
imx_wm8960             16384  0
snd_soc_wm8960         40960  0
snd_soc_fsl_sai        24576  0
imx_pcm_dma_v2         16384  1 snd_soc_fsl_sai
snd_soc_fsl_spdif      24576  0
snd_soc_fsl_asrc       45056  0
imx_pcm_dma            16384  1 snd_soc_fsl_spdif
snd_soc_core          147456  7 snd_soc_fsl_asrc,snd_soc_fsl_sai,imx_pcm_dma_v2,snd_soc_fsl_spdif,imx_pcm_dma,snd_soc_wm8960,imx_wm8960
snd_pcm_dmaengine      16384  3 imx_pcm_dma_v2,imx_pcm_dma,snd_soc_core
snd_pcm                98304  9 snd_soc_fsl_asrc,snd_soc_fsl_sai,snd_pcm_dmaengine,imx_pcm_dma_v2,snd_soc_fsl_spdif,imx_pcm_dma,snd_soc_core,snd_soc_wm8960,imx_wm8960
snd_timer              32768  1 snd_pcm
evbug                  16384  0
dht11                  16384  0
touch_gt9xx            61440  0

debian@npi:/lib/modules/4.19.71-imx-r1$ ls
kernel             modules.builtin      modules.dep.bin  modules.softdep
modules.alias      modules.builtin.bin  modules.devname  modules.symbols
modules.alias.bin  modules.dep          modules.order    modules.symbols.bin
debian@npi:/lib/modules/4.19.71-imx-r1$ cd kernel/
debian@npi:/lib/modules/4.19.71-imx-r1/kernel$ ls
crypto  drivers  fs  lib  sound
  • 1/ How do you "understand that you are missing nf_tables and ip_tables" support. iptables support is not necessarily built as a module, it can well be built in kernel (I personally prefer this option.
    – MC68020
    Sep 11, 2020 at 21:10
  • 2/ To check, I recommend that you cd /usr/src/linux or wherever your active kernel sources are installed, then make menuconfig, then review (at the very least) the IP:Netfilter configuration under the Networking support / Networking option / Network packet filtering path.
    – MC68020
    Sep 11, 2020 at 21:15

1 Answer 1


You can only add them if you get the complete source of your kernel and also its .config file (thought the latter might not be required). In this case you may edit .config and enable the missing kernel modules.

If you are lucky enough you could try downloading this kernel source from kernel.org and then compiling it using a cross-build compiler (I'm not sure what this board architecture is - you have omitted it), e.g. sudo apt install gcc-arm-none-eabi. In a perfect world you should use the same compiler version as the one used to build your kernel or otherwise modules may trigger a kernel panic/OOPs due to a different ABI.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .