This enables support for reading subpartitions created on BSD systems.
UFS read-only support is already enabled (=m) by default, so no changes
are necessary.
Enabling `CONFIG_MODULE_DECOMPRESS` allows for the kernel to natively
support module decompression via the `MODULE_INIT_COMPRESSED_FILE` flag
to `finit_module()`. This makes it easier for kernel module loading
utilities such as kmod since they don't need to be shipped with the
userspace decompression libraries.
Currently, you need to override `stdenv.hostPlatform` to request a
compressed kernel on AArch64, and the kernel configuration is split
between the central structured configuration and string snippets in
platform definitions. This has consequently made the latter bitrot
terribly. Since the platform‐specific logic is now very limited after
cleaning up the detritus, we can move it into the kernel derivation
and expose the relevant configuration there for anyone who wants to
customize it further or needs to read it out.
Co-authored-by: zowoq <59103226+zowoq@users.noreply.github.com>
According to the message in the patch that introduced LIST_HARDENED [1],
DEBUG_LIST was not optimized for performance in production and presents
a significant performance hit in hot paths in some workloads. Use the
new LIST_HARDENED option instead on >= 6.6 for better performance.
[1]: https://git.kernel.org/torvalds/c/aebc7b0d8d91bbc69e976909963046bc48bca4fd
The built-in graphical boot manager on PowerMacs usually doesn't acknowledge USBs. If one wants to boot an installer
without messing around in Open Firmware, then a disc must be used.
The disc drives in PowerMacs are connected via IDE, and will get stuck during early boot if IDE/ATA support is not
built into the kernel. The PATA_MACIO option is also needed to handle the particular controller used on Macs.
To get an installer ISO recognised on some systems (Apple PowerMac G5 is what I'm working with), it must be made with
certain flags to xorriso that make the ISO9660 filesystem accessible as an HFS+ partition, to allow HFS+ blessing of the
boot files. Changes for that will be submitted at a later date.
When such an image is booted with the current kernel settings (DVD/USB, doesn't matter), GRUB works fine, but the kernel
gets stuck. There is no textual boot output on the machine at the point where it gets stuck, so I can't really debug. A
basic ISO9660 image (booted directly via firmware commands) goes all the way to the shell without issues, so the issue
is with the HFS+ partition format.
Building the HFS+ module into the kernel seems to fix this.
Some older machines are supposedly unable to read HFS+ and may instead need HFS. Such a disc setup might not be
producable with xorriso (haven't played around with that), and I don't have one of those machines to test anything on,
so I won't include HFS_FS for now.
Since IPV6_FOU_TUNNEL was set, I get an unexpected ip6tnl device at
boot. It was set to y to accomodate Linux 7.1 divergences between
aacrh64 and x86_64, but by just not setting NET_FOU or
IPV6_FOU_TUNNEL, I get everything built as modules on both platforms,
like we presumably want.
Fixes: be994ce8a8 ("linux/common-config: update for 7.1")
Since EFI_VARS_PSTORE depends on PSTORE, also set PSTORE=y. Otherwise,
build of configfile fails on at least riscv64, where the defconfig does
not set CONFIG_PSTORE=y.
Note that this still doesn't fix isLoongArch64 [1], so the check is
still needed there.
[1]: https://github.com/NixOS/nixpkgs/pull/509871#issuecomment-4243527972
Harden against attacks that depend on kernel stack offset by randomizing
it on syscall entry by default
Conditional on 7.1 for AArch64 due to significant perf impact on earlier
versions
Starting with kernels around 6.18 and 6.19 I noticed,
that /dev/hwrng was no longer present and the TPM 2.0
usually found in modern computers did therefore not automatically
seed the kernel RNG with the hw random subsystem.
Enabling CONFIG_HW_RANDOM to yes fixes this. The subsystem
is rather small and should not increase the default kernel size
too much.
Signed-off-by: Markus Theil <theil.markus@gmail.com>
This allows mmap of a virtio-pmem device to map host page cache directly
into userspace. Fedora already enables FS_DAX.
Signed-off-by: Demi Marie Obenour <demiobenour@gmail.com>
Otherwise, when building for a platform without Rust support, then the
scripts for applying the kernel configuration will report that the
option was unused.