Subject: [bug#37398] [PATCH 1/2] gnu: linux-libre: Enable all nftables family modules.

From: Marius Bakke <[email-masked]>
Date: Fri, 13 Sep 2019 17:41:57 +0200

[email-masked] (宋文武) writes:

> 宋文武 <[email-masked]> writes:
>
>> * gnu/packages/aux-files/linux-libre/4.19-arm.conf,
>> gnu/packages/aux-files/linux-libre/4.19-arm64.conf,
>> gnu/packages/aux-files/linux-libre/4.19-i686.conf,
>> gnu/packages/aux-files/linux-libre/4.19-x86_64.conf,
>> gnu/packages/aux-files/linux-libre/5.2-arm.conf,
>> gnu/packages/aux-files/linux-libre/5.2-arm64.conf,
>> gnu/packages/aux-files/linux-libre/5.2-i686.conf,
>> gnu/packages/aux-files/linux-libre/5.2-x86_64.conf: Set CONFIG_NF_TABLES_INET,
>> CONFIG_NF_TABLES_NETDEV, CONFIG_NF_TABLES_IPV4, CONFIG_NF_TABLES_ARP,
>> CONFIG_NF_TABLES_IPV6, and CONFIG_NF_TABLES_BRIDGE to 'm'.
>
> I got 5.2 built now, and it doesn't work, may have to be enabled as 'y',
> will investigate it later...

In general, when making changes to the kernel configuration, you need to
use the interactive configuration system provided by the kernel build
system.  The reason is that many options have dependencies: if you set
CONFIG_FOO=y, CONFIG_BAR might also need to be y.

Using the configuration system ensures these dependencies are handled
properly.  Here is one way to do that on Guix:

$ tar -xf $(guix build -S linux-libre) -C /tmp
$ cd /tmp/linux-libre-5.2.13
$ guix environment linux-libre --ad-hoc ncurses
$ cp /your/guix/checkout/gnu/packages/aux-files/linux-libre/5.2-x86_64.conf .config
$ make oldconfig
$ make nconfig
$ cp .config /your/guix/checkout/gnu/packages/aux-files/linux-libre/5.2-x86_64.conf

I don't have time to go into more details right now, but hope this helps!