knuxify
96a30fb31b
kconfigcheck: make BTRFS and F2FS modules
...
Initially, these were switched to built-ins as they were included in
the default initramfs, which can have a worse compression ratio
than the kernel itself (e.g. Exynos 4 kernel uses xz for kernel, gzip
(pmbootstrap default) for initramfs).
Since f45319dc , however, these have been moved to initramfs-extra;
as such, they don't get built into the initramfs on devices that use
create_initfs_extra. They are now safe to move to modules - this
lets us save ~2MB on space-constrained devices.
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8943 >
2026-07-08 14:47:18 +00:00
Aelin
4f39055f64
kconfigcheck: Per-enctype algorithm options are removed in 7.2
...
See kernel commit c331c8eaa20211d99181f1a1cf8d5a83b119dcb6 ("SUNRPC:
Remove per-enctype Kconfig options") for further details.
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8906 >
2026-06-26 18:57:21 +00:00
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