Build wireguard-linux-compat on SLES15 (s390x)

Daniel Wagner dwagner at suse.de
Thu Oct 21 12:37:13 UTC 2021


Hi,

On Wed, Oct 20, 2021 at 11:56:49AM -0600, Jason A. Donenfeld wrote:
> Do you think you could chime in here regarding the apparent absence of
> wireguard on s390x? The thread began as a discussion of building it
> yourself there, but I'm wondering why it isn't already there, seeing
> as it's on the other archs.

Sure, let me try to figure out what's happening. I usually try to stay
away from them the distro making business, so it's a bit of a closed
book for me.

> On Wed, Oct 20, 2021 at 3:01 AM Faustin Lammler <faustin at fala.red> wrote:
> >
> > Hi Jason!
> >
> > "Jason A. Donenfeld" <Jason at zx2c4.com>,
> > 19/10/2021 – 17:51:01 (-0600):
> >
> > > Isn't WireGuard already in the SLES kernel?
> >
> > My understanding is that it should, that's why I was surprised to have
> > to build it. But apparently not.
> >
> > This may be related to a specific kernel from IBM LinuxONE cloud
> > infrastructure?
> >
> > | $ uname -r
> > | 5.3.18-24.86-default

This is SLE15-SP2 and the corresponding branch has the patches and the
s390x config does have CONFIG_WIREGUARD=m. So this looks good.

  https://github.com/openSUSE/kernel-source/tree/SLE15-SP2/patches.suse

grep for bsc#1169021 to see the list.

> > But again, my knowledge of SLES is very limited (and s390x architecture
> > even more) so I don't have any idea why this was needed.
> >
> > I'll be happy to help you if you need me to do some tests on the
> > machine.

I see the module is marked as not supported in supported.conf. After
looking at our spec file, I think the modules is packaged into the
kernel-extra rpm. At it might be that you need to enable the not
supported modules explicitly:

from https://github.com/openSUSE/kernel-source/blob/master/rpm/kernel-binary.spec.in

%if 0%{?sle_version} >= 150000
    # By default, loading unsupported modules is disabled on SLE through
    # /etc/modprobe.d/10-unsupported-modules.conf from the suse-module-tools
    # package.
    # modules in kernel-$flavor-extra don't have the supported flag set,
    # yet loading them should be possible if the package is installed.
    # CAUTION PACKAGERS: The file content below must not change between
    # kernel versions, otherwise file conflicts might arise with
    # multiversion(kernel).

    mkdir -p %buildroot/etc/modprobe.d
    cat >%buildroot/etc/modprobe.d/20-kernel-%{build_flavor}-extra.conf <<EOF
# This file overrides the default from 10-unsupported-modules.conf.
# This is necessary to load kernel modules from the
# kernel-%{build_flavor}-extra package.
#
# WARNING: loading unsupported modules may compromise SLE support.
# Please read the comments in 10-unsupported-modules.conf.
allow_unsupported_modules 1
EOF
    echo "%%dir /etc/modprobe.d" >> %my_builddir/kernel-extra.files
    echo '%%config(noreplace) /etc/modprobe.d/20-kernel-%{build_flavor}-extra.conf' >> %my_builddir/kernel-extra.files
%endif

HTH,
Daniel


More information about the WireGuard mailing list