カーネルモジュールがありません

カーネルモジュールがありません

私はこれを使用していますNPi i.MX6ULL(armhf) ボードはここにあります。 Debian BusterベースのカスタムLinuxディストリビューションが付属しています。しかし、最小限のレベルで完全に削除されました。

私の質問はマザーボードとは何の関係もなく、Linuxカーネルに関連しています。ファイアウォールをインストールして実行してみましたが、役に立ちませんでした。私は多くの共通カーネルモジュールが欠落していることを発見しました(下記lsmod出力を参照)。

したがって、デフォルトではnf_tablesとip_tablesモジュールが欠落していることがわかります。しかし、今私の愚かな質問は - どのように追加しますか?どこで入手できますか?私は "apt install nftables"と他のすべてのタイプのものをインストールしました。しかし、その中にモジュールを追加することはありません。

助けが必要ですか?ありがとうございます!

debian@npi:~/libmnl$ cat /etc/os-release 
PRETTY_NAME="Debian GNU/Linux 10 (buster)"
NAME="Debian GNU/Linux"
VERSION_ID="10"
VERSION="10 (buster)"
VERSION_CODENAME=buster
ID=debian
HOME_URL="https://www.debian.org/"
SUPPORT_URL="https://www.debian.org/support"
BUG_REPORT_URL="https://bugs.debian.org/"

debian@npi:~/libmnl$ uname -r
4.19.71-imx-r1
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

.configカーネルとそのファイルの完全なソースコードがある場合にのみ追加できます(後者が必要ない場合があります)。この場合、.config欠落しているカーネルモジュールを編集して有効にできます。

運が良ければ、これをダウンロードしてみることができます。カーネルソースコードkernel.orgからインポートし、クロスビルドコンパイラを使用してコンパイルします(このボードアーキテクチャが何であるかわかりません。省略しました)sudo apt install gcc-arm-none-eabi。完璧な環境では、カーネルの構築に使用したのと同じバージョンのコンパイラを使用する必要があります。そうしないと、モジュールは他のABIのためにカーネルパニック/ OOPをトリガーできます。

関連情報