Commit Graph
94 Commits
Author SHA1 Message Date
Clayton Craft 2ca69460a1 kconfigcheck: drop DEBUG_INFO_BTF=n for LTO+Rust
These options are required to get BPF stuff working in the kernel.

Fixes #4411

Signed-off-by: Clayton Craft <craftyguy@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8779>
2026-06-14 16:03:04 +00:00
Clayton Craft 5f8ef38f89 kconfigcheck: add systemd bpf requirements to default category
Signed-off-by: Clayton Craft <craftyguy@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8779>
2026-06-14 16:03:04 +00:00
Aelin 06318bcfec kconfigcheck: Drop options redundant with 5.18 community baseline
As per https://docs.postmarketos.org/pmaports/main/kconfigcheck.html and
considering that today is the beginning of June 2026, the baseline for
community kconfig checks is Linux 5.18, so we can remove the redundant
CONFIG_ASHMEM enablement in the waydroid category for kernels older than
5.18.

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8783>
2026-06-10 19:21:42 +00:00
Aster Boese 6ecd7f6d43 kconfigcheck: move VFAT_FS to category:default
All but 10 kernels in downstream and 1 in testing support VFAT_FS already.
FAT32, which VFAT_FS supports, is proposed with
https://gitlab.postmarketos.org/postmarketOS/pmbootstrap/-/merge_requests/2869
to become the default filesystem for pmOS_boot. Since so many kernels already
support this option and the FAT filesystems are so common, there is no reason
not to include VFAT_FS by default. VFAT_FS only increases kernel size by 10kb,
so it does not impact boot partition space in any meaningful way.

Signed-off-by: Aster Boese <asterboese@mailbox.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8694>
2026-05-31 21:43:12 +00:00
Aelin 4402d4a28e kconfigcheck: Require support for Yama
This lets us prohibit non-ancestor ptrace access to running processes
and their credentials via sysctl kernel.yama.ptrace_scope=1.

Yama stacks correctly with SELinux. Arch Linux enables it and sets
ptrace_scope=1 by default, see https://wiki.archlinux.org/title/Security#ptrace_scope.

Note that SELinux also has the deny_ptrace mechanism to achieve similar
things, but we're not shipping SELinux at the moment and we can opt to
switch to deny_ptrace for enforcing this in the future if desired.

See https://docs.kernel.org/admin-guide/LSM/Yama.html for more information.

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8582>
2026-05-23 09:16:21 +00:00
Aster Boese 921c30190b kconfigcheck: add CONFIG_RUST=y to category:rust
category:rust was actually not added to *enable* Rust support in the kernel,
but to add options needed by kernels that had *already* enabled Rust. Since
the category was meant for kernels with Rust enabled, enabling Rust support
with the category makes sense and fits better with the category name to clear
up any confusion kernel package maintainers may have.

See 5cbd09c81c

Signed-off-by: Aster Boese <asterboese@mailbox.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8559>
2026-05-15 10:53:09 +02:00
Aster Boese 029b539827 kconfigcheck: add accessibility category
Enables the basic kernel interfaces for the kernel braille and
speakup support.

Signed-off-by: Aster Boese <asterboese@mailbox.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7429>
2026-05-06 16:10:53 +00:00
Aelin c1ed6289e2 kconfigcheck: Require the improved NTFS driver in 7.1+
Linux 7.1 introduces a new NTFS driver that is more compatible than
NTFS3, faster and has more features. Let's switch to it for kernel
versions where it is available.

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8484>
2026-05-04 14:24:22 +00:00
Eisenbahnfan a325d6d06d kconfigcheck: CONFIG_NFS_V4_1 is not available starting from Linux v7.0
See [1], which was merged into v7.0.

[1] https://lore.kernel.org/all/20260126203938.450304-15-anna@kernel.org/

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8429>
2026-04-26 17:34:33 +00:00
Luca Weiss fbaf608c1c kconfigcheck: Enable NFSD options
Enable the in-kernel NFS server along with some other related options.

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8117>
2026-04-24 21:05:20 +00:00
Aelin 5d38a7cc64 kconfigcheck: Simplify based on version baselines
This replaces all version requirements below the baseline for the
categories with >=0.0.0 and completely removes configurations that would
only apply to version ranges no longer included in the baseline.

The default category baseline is 2.6.0, categories for community kernels
currently have a baseline of 5.17.

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8421>
2026-04-24 20:43:49 +00:00
Aelin b51e236f1a kconfigcheck: Fix inconsistencies on loongarch64
CONFIG_CRYPTO_CTS is built-in if CONFIG_FS_ENCRYPTION is enabled, which
it is by default on loongarch64, which is reasonable.

CONFIG_NFSD is also built-in on some architectures, which causes
CONFIG_RPCSEC_GSS_KRB5 to be built-in rather than a module. We could
either force disable NFSD, which is not great, or just build it as a
module, which is what I opted for.

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8415>
2026-04-22 22:06:50 +00:00
Neil Armstrong 8155e23632 kconfigcheck: CRYPTO_AES_TI is not available starting from Linux v7.0
See [1], which was merged into v7.0.

[1] https://lore.kernel.org/all/20260112192035.10427-9-ebiggers@kernel.org/

Signed-off-by: Neil Armstrong <neil.armstrong@linaro.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8410>
2026-04-22 20:23:39 +00:00
Luca Weiss 8c29e3a104 kconfigcheck: Add 'netmount' to community category
It doesn't look like it was intentional to keep this optional, so let's
require netmount (i.e. NFS) for all community kernels.

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8063>
2026-04-21 15:47:43 +02:00
Luca Weiss 470789f095 kconfigcheck: Build 'netmount' category as modules where possible
There's no need to have these built-in to the kernel, better to build
these options as modules to keep the impact low.

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8063>
2026-04-21 15:47:43 +02:00
Aelin 5d06fe0fd1 kconfigcheck: Add SELinux category
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8352>
2026-04-16 16:27:57 +00:00
Aster Boese b5c5a91b60 kconfigcheck: enable SECURITY_DMESG_RESTRICT
Kernel logs can contain sensitive information which we don't want
easily accessible. This locks the kernel buffer to privileged
access (with sudo).

Signed-off-by: Aster Boese <asterboese@mailbox.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8342>
2026-04-13 21:15:35 +00:00
bluebunny 033c34b0ad kconfigcheck: add USB_NET_RNDIS_HOST
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8230>
2026-04-06 17:33:28 +00:00
Aster Boese 5e58825ad3 kconfigcheck: version gate DRM_FBDEV_EMULATION
DRM_FBDEV_EMULATION was added in kernel version 4.3, but we have kernels older than that.
Version gating the option fixes kconfigcheck on these kernels.

Signed-off-by: Aster Boese <asterboese@mailbox.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8202>
2026-03-19 22:21:03 +01:00
polyfloyd 37569a73bd Add new kconfig flags for Docker
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8002>
2026-03-13 15:36:07 +00:00
Aelin 577667f338 kconfigcheck: BPF_LSM depends on SECURITY
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8168>
2026-03-13 13:01:48 +00:00
Clayton Craft ef30e86f09 kconfigcheck: add additional kconfig requirements for systemd
From: https://github.com/systemd/systemd/blob/main/README

All of these config options are bool, hence why they are set to "y".
Kernels will also need to add pahole to the makedepends to support BPF.

fixes #3769

Signed-off-by: Clayton Craft <craftyguy@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6707>
2026-03-12 18:11:11 +00:00
Aster Boese b24a4ef1fd kconfigcheck: version gate MODULE_COMPRESS
MODULE_COMPRESS was added after the individual compression algorithm options.
As such, it needs a separate version set or any kernel below the version it
was added will fail kconfig check.

Signed-off-by: Aster Boese <asterboese@mailbox.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8131>
2026-03-06 10:53:34 +00:00
Sam Day 4dfac08c46 kconfigcheck: expand EroFS support
This modern alternative to SquashFS has been around for a while now.
It's the default format for Fedora's live media, and likely used in many
other notable places too.

Let's enable EroFS support as a baseline "filesystems" capability.

category:immutable was already bringing in erofs as a built-in. Clayton
confirmed in pmaports!8074 discussion that it's okay to downgrade to =m

Signed-off-by: Sam Day <me@samcday.com>
Assisted-by: opencode:gpt-5.3-codex
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8074>
2026-02-26 21:11:10 +00:00
Sam Day ce5a8307a3 kconfigcheck: enable ublk driver for netbooting devices
ublk allows a block device to be driven from userspace. think FUSE, but
blocks.

smoo uses ublk to present a block device driven by a USB protocol. this
serves as an alternate data plane to nbd for netbooting use cases.

Signed-off-by: Sam Day <me@samcday.com>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8075>
2026-02-25 20:52:21 +10:00
Aelin bebe107f52 kconfigcheck: Only require zstd module (de)compression on 6.2 or newer
The in-kernel zstd module decompression exists since kernel 6.2 [1], so
in order to accomodate split initramfs devices, we can only safely
require zstd module compression and decompression on 6.2 or newer.

[1]: https://github.com/torvalds/linux/commit/169a58ad824d896b9e291a27193342616e651b82

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7952>
2026-02-07 17:43:35 +01:00
Val Packett 839d8035c4 kconfigcheck: add more USB peripherals
- ensure MIDI 2.0 is enabled in the USB audio driver
- ensure UASP is enabled for faster storage access
- ensure USBNET framework is enabled for more Ethernet drivers
  (many particular USB_NET_* drivers have default 'y' in kconfig)

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7911>
2026-02-06 15:55:39 +00:00
Henrik Grimler dfc7fe9107 kconfigcheck: MODULE_DECOMPRESS should be set
We currently enforce MODULE_COMPRESS_ZSTD=y. In the 1st stage
initramfs we use busybox modprobe, and busybox modprobe cannot handle
zstd compression. Therefore, make sure MODULE_DECOMPRESS is enabled so
that kernel handles decompression instead.

See issue https://gitlab.postmarketos.org/postmarketOS/pmaports/-/issues/4305.

Co-developed-by: Aster Boese <asterboese@mailbox.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7922>
2026-02-04 14:41:03 +01:00
Aelin e9ff22e200 kconfigcheck: CPU_FREQ_GOV_SCHEDUTIL depends on CPU_FREQ
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7853>
2026-01-26 23:35:48 +01:00
Aelin a3e9f29450 kconfigcheck: Compress modules with zstd
Since we already require firmware compression with zstd, it only makes
sense to also require modules to be compressed the same way.

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7837>
2026-01-25 21:41:26 +00:00
Aelin 6a1fe61bf7 kconfigcheck: Require framebuffer support
unl0kr is unusable without CONFIG_FB enabled. With DRM, we need
CONFIG_DRM_FBDEV_EMULATION=y to have /dev/fb* nodes.

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7833>
2026-01-24 22:06:06 +00:00
Aelin 078a66a5b9 kconfigcheck: DRM_UDL requires DRM
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7810>
2026-01-23 19:35:19 +00:00
Aelin 4872005baf kconfigcheck: USB_SERIAL_* requires USB_SERIAL
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7810>
2026-01-23 19:35:19 +00:00
Aelin 4747f268cc kconfigcheck: Let community imply USB
I'm pretty sure this is an oversight and it was intended to make the USB
category part of the community checks.

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7810>
2026-01-23 19:35:15 +00:00
Clayton Craft 3a74f3a1de kconfigcheck: enable all compression backends for zram
It doesn't seem like enabling these will "cost" us anything, and
making sure they are enabled will let us more easily change the default
compressor for zram swap in the future.

Signed-off-by: Clayton Craft <craftyguy@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7753>
2026-01-14 21:59:26 +00:00
Clayton Craft 4e712841d7 kconfigcheck: set USB_F_FS to =m
Setting it to =y requires also setting CONFIGFS=y, but since we have
CONFIGFS=m this needs to be adjusted or else config generated from this
toml will fail validation / kconfigcheck.

```
[09:25:01] Copy kernel config back to pmaports dir
[09:25:02] (native) generate checksums for linux-postmarketos-asahi
[09:25:03] INFO: config-postmarketos-asahi.aarch64: CONFIG_USB_F_FS is preferably y, but currently m (category:usb_gadgets)
[09:25:03] Fragment pmos.config: CONFIG_USB_F_FS expected to be 'y' but has different value in final config
[09:25:03] ERROR: Fragment validation failed: Some options from fragments did not make it to the final kernel config. This usually means missing dependencies.
```

Signed-off-by: Clayton Craft <craftyguy@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7713>
2026-01-11 10:03:22 +00:00
Dylan Van Assche 7d35823389 kconfigcheck: add USB FunctionFS
[ci:ignore-count]
[ci:skip-vercheck]

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6531>
2025-12-27 22:44:28 -08:00
Jens Reidel 7d3b8e05df kconfigcheck: Don't require LTO_CLANG_THIN for CFI
This is only required on kernels prior to 6.1 and not even supported on
some architectures like ARMv7.

Signed-off-by: Jens Reidel <adrian@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7537>
2025-12-15 23:32:12 +00:00
Clayton Craft 1c26be5ffe kconfigcheck: add 'wine' category for community kernels
This category can be used to collect kconfig that improve Wine/Proton
support on devices. NTSYNC is Win NT sync primatives that improve
performance of things running under Wine.

Signed-off-by: Clayton Craft <craftyguy@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7157>
2025-12-12 16:07:54 +01:00
Pablo Correa Gómez 6e99b38fc8 kconfigcheck.toml: add missing "all" arch to category:rust
This makes the whole thing more consistent, and allows to verify
architectures in pmb

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7527>
2025-12-08 16:04:43 +01:00
Pablo Correa Gómez 7bbac7dea6 kconfigcheck.toml: fix architecture typo
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7523>
2025-12-08 01:01:19 +01:00
Clayton Craft 5cbd09c81c kconfigcheck: rust: disable DEBUG_INFO_BTF
When this config is enabled along with LTO (from the "hardening"
category), the kernel build system disables rust support.

These options are added to a new category, "rust" since it's only
necessary for kernels with rust support enabled.

Signed-off-by: Clayton Craft <craftyguy@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7466>
2025-12-01 08:27:17 -08:00
Jens Reidel 6a984c485c kconfigcheck: Fix version requirement for hardening configs
Since CONFIG_CFI exists since 6.18rc1, the requirement must be
>=6.18_rc1. This went unnoticed in my testing because my kernel
incorrectly had a version of 6.18.0_rc1, which is greater than 6.18.0,
but the correct version would be 6.18_rc1, which is lower than 6.18.0.

Signed-off-by: Jens Reidel <adrian@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7430>
2025-11-26 20:08:22 +01:00
Jens Reidel b59e6adaf5 kconfigcheck: Add hardening category
For now, this category requires CFI and SCS to be enabled and ensures
that CFI is compatible with Rust. More options can be added in the
future.

Signed-off-by: Jens Reidel <adrian@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7391>
2025-11-26 12:05:05 +00:00
Clayton Craft 287331de80 kconfigcheck: require immutable category for community kernels
This will make testing immutable images easier, because currently I
suspect most kernels aren't enabling things like erofs...

Signed-off-by: Clayton Craft <craftyguy@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7395>
2025-11-21 17:14:02 +00:00
Jens Reidel a499fc6a80 kconfigcheck: Resolve some more warnings
CRYPTO_MD5 and ZSMALLOC are enabled as builtin by the default defconfigs
for x86_64, ppc64le and loongarch64, amongst others.

To avoid warnings on mismatches, just make them builtin for all
architectures.

Signed-off-by: Jens Reidel <adrian@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7397>
2025-11-20 16:10:39 +00:00
Jens Reidel cd62959335 kconfigcheck: EFI is not available on ppc64le
Signed-off-by: Jens Reidel <adrian@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7397>
2025-11-20 16:10:39 +00:00
Jens Reidel 8cfaff88c8 kconfigcheck: Fix ConfigFS gadget dependencies
Signed-off-by: Jens Reidel <adrian@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7397>
2025-11-20 16:10:36 +00:00
Jens Reidel c0e981b059 kconfigcheck: SPI drivers depend on SPI
Signed-off-by: Jens Reidel <adrian@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7397>
2025-11-20 16:10:32 +00:00
Jens Reidel 37abd842fb kconfigcheck: HID sensors depend on IIO
Signed-off-by: Jens Reidel <adrian@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7397>
2025-11-20 16:10:29 +00:00