Package Details: linux-hardened-lts 6.18.17.hardened1-1

Git Clone URL: https://aur.archlinux.org/linux-hardened-lts.git (read-only, click to copy)
Package Base: linux-hardened-lts
Description: The Security-Hardened Linux LTS kernel and modules
Upstream URL: https://github.com/anthraxx/linux-hardened
Licenses: GPL-2.0-only
Provides: KSMBD-MODULE, NTSYNC-MODULE, VIRTUALBOX-GUEST-MODULES, WIREGUARD-MODULE
Submitter: ZLima12
Maintainer: ZLima12
Last Packager: ZLima12
Votes: 1
Popularity: 0.000990
First Submitted: 2024-11-18 03:19 (UTC)
Last Updated: 2026-04-08 19:04 (UTC)

Required by (11)

Sources (5)

Latest Comments

acrion commented on 2026-04-09 01:58 (UTC)

Thanks for the context, and you're right that this is an upstream pattern. After further investigation, I can confirm:

  1. ZFS 2.4.1 now builds successfully against linux-hardened 6.19.10 — it appears OpenZFS changed their configure process to no longer trigger syncconfig.

  2. The make scripts failure from missing arch/arm/crypto/Kconfig exists identically in the official linux, linux-lts, and linux-hardened headers packages. It's a deliberate trade-off in Arch's headers packaging — the headers are intended for make M=... modules, not for full Kbuild targets.

So the original issue I reported is effectively resolved by the ZFS 2.4.1 update. Thanks again for bringing the package up to date.

ZLima12 commented on 2026-04-08 19:31 (UTC)

For this package, I am just taking the official (non-AUR) linux-hardened package, appending -lts to the name, and then doing minor kernel config updates for each patch release. Pretty much everything else, including the "Removing unneeded architectures" loop, is taken as-is from the upstream linux-hardened package. I'd like to keep this package as close as possible to upstream, so I would recommend reporting this issue there. For that matter, are you able to build the DKMS modules against linux-hardened? If so, then it would seem that there is something going on with this package in particular, at which point I'd take a closer look.

acrion commented on 2026-04-08 19:15 (UTC)

Thanks for picking this up again, ZLima12 — really appreciate the quick response and the big jump to 6.18.17!

One thing I'd like to flag: unless I'm misreading the updated PKGBUILD, the Kconfig cross-reference issue from comment #1028414 still appears to be present. The _package-headers() function installs all Kconfig files (including those under arch/arm/ and arch/arm64/) but then the "Removing unneeded architectures" loop deletes those directories entirely. This still breaks DKMS modules (notably ZFS) that trigger make scripts during their configure phase, since crypto/Kconfig references arch/arm/crypto/Kconfig.

The fix I suggested previously would go right before the removal loop:

# Preserve Kconfig files referenced by other architectures
for _missing_arch in arm arm64; do
    mkdir -p "$builddir/arch/$_missing_arch/crypto"
    echo "# Minimal Kconfig for headers compatibility" \
        > "$builddir/arch/$_missing_arch/crypto/Kconfig"
done

Would you be open to including this? Happy to help test the next build.

ZLima12 commented on 2026-04-08 19:05 (UTC)

Okay, there is 6.18.17, and I should have 6.18.20 up later today.

ZLima12 commented on 2026-04-08 15:09 (UTC) (edited on 2026-04-08 15:09 (UTC) by ZLima12)

acrion: I apologize for my extended neglect towards this package. I can have it updated today, and I intend to keep it up to date in a more timely fashion going forward.

acrion commented on 2025-06-12 09:18 (UTC)

ZFS DKMS compilation fails due to broken Kconfig references in headers package. The current PKGBUILD breaks ZFS DKMS module compilation by removing architecture directories that are still referenced in Kconfig files.

When attempting to install zfs-dkms with linux-hardened-lts-headers, the DKMS build fails during the configure phase with:

configure: error: 
        *** This kernel does not include the required loadable module
        *** support!
        ***
        *** To build OpenZFS as a loadable Linux kernel module
        *** enable loadable module support by setting
        *** `CONFIG_MODULES=y` in the kernel configuration and run
        *** `make modules_prepare` in the Linux source tree.

However, CONFIG_MODULES=y is correctly set in the kernel config.

The issue occurs in the _package-headers() function when removing architecture directories:

echo "Removing unneeded architectures..."
local arch
for arch in "$builddir"/arch/*/; do
  [[ $arch = */x86/ ]] && continue
  echo "Removing $(basename "$arch")"
  rm -r "$arch"
done

This removes arch/arm/ but leaves references to it in Kconfig files. When ZFS configure scripts run make scripts, it fails with:

crypto/Kconfig:1426: can't open file "arch/arm/crypto/Kconfig"
make[3]: *** [scripts/kconfig/Makefile:77: syncconfig] Error 1
Reproduction Steps
  1. Install linux-hardened-lts and linux-hardened-lts-headers
  2. Attempt to install zfs-dkms
  3. DKMS build fails during configure phase

Full DKMS error:

==> dkms install --no-depmod zfs/2.3.2 -k 6.6.65-hardened1-1-hardened-lts
==> WARNING: `dkms install --no-depmod zfs/2.3.2 -k 6.6.65-hardened1-1-hardened-lts' exited 1

Make scripts error:

cd /lib/modules/6.6.65-hardened1-1-hardened-lts/build
make scripts
crypto/Kconfig:1426: can't open file "arch/arm/crypto/Kconfig"
make[3]: *** [scripts/kconfig/Makefile:77: syncconfig] Error 1
Suggested Fix

Option 1: Remove cross-architecture references from problematic Kconfig files:

# After copying files but before removing architectures
sed -i '/source.*arch\/arm\/crypto\/Kconfig/d' "$builddir/crypto/Kconfig"
sed -i '/source.*arch\/.*\/crypto\/Kconfig/d' "$builddir/crypto/Kconfig"

Option 2: Keep minimal dummy Kconfig files for referenced architectures:

# Before removing architectures, create dummy files for cross-references
for missing_arch in arm arm64; do
  mkdir -p "$builddir/arch/$missing_arch/crypto"
  echo "# Minimal Kconfig for headers compatibility" > "$builddir/arch/$missing_arch/crypto/Kconfig"
done

This affects any DKMS module that requires a functional kernel build environment. ZFS is a prominent example, but other out-of-tree modules may be similarly affected.

Note that linux-lts-headers works fine with ZFS, so this appears to be specific to the architecture removal process in the hardened headers package.

Environment: Arch Linux, kernel 6.6.65-hardened1-1-hardened-lts, zfs-dkms 2.3.2-1