Commit Graph

8668 Commits

Author SHA1 Message Date
K900
001fb496bf Merge remote-tracking branch 'origin/master' into staging-next 2024-10-12 21:08:11 +03:00
Maximilian Bosch
d3e6c8fc75 linux: implement rustAvailable condition
* It doesn't matter if `rustc` is available, but if rustc can compile to
  the hostPlatform. So use a custom condition instead of `availableOn`.
* Explicitly exclude the combination of GCC and riscv which is known
  to be broken[1].

[1] https://lore.kernel.org/lkml/31885EDD-EF6D-4EF1-94CA-276BA7A340B7@kernel.org/T/

Co-authored-by: Alyssa Ross <hi@alyssa.is>
2024-10-12 17:08:18 +02:00
Maximilian Bosch
bda6c82a81 linux_testing: disable NFS_LOCALIO on aarch64-linux
This breaks the build like this:

      /nix/store/f3k0rdhcd2cx57phx755c2xixgifw5m5-binutils-2.42/bin/ld: Unexpected GOT/PLT entries detected!
      /nix/store/f3k0rdhcd2cx57phx755c2xixgifw5m5-binutils-2.42/bin/ld: Unexpected run-time procedure linkages detected!
      /nix/store/f3k0rdhcd2cx57phx755c2xixgifw5m5-binutils-2.42/bin/ld: fs/nfs/localio.o: in function `nfs_local_iocb_alloc':
      /build/source/build/../fs/nfs/localio.c:290:(.text+0x324): undefined reference to `nfs_to'
      [...]

Reported as https://lore.kernel.org/all/D4OUJRP8YWRM.ATQ7KASTYX5H@mbosch.me/
2024-10-12 17:08:18 +02:00
Maximilian Bosch
3bf9c88c1d linux_testing: enable Rust by default for aarch64-linux
The first assumption[1] we had was that the `aarch64-unknown-none`
target was missing from rustc and that this was the cause for the
regression.

However, it turns out that the relevant code from `rustc` wasn't used
anyways because the Makefile does `--sysroot /dev/null`[2] which prevents
rustc from using its own libcore. So luckily we don't have to patch the
Rust bootstrap to get aarch64-linux back working[3].

In fact, the Rust part seems broken for both 6.10 and 6.11[4], but I
decided to not bother since none of those are longterm versions.

So all that's left here is to enable Rust for aarch64-linux because it
clearly works[5].

[1] https://github.com/NixOS/nixpkgs/pull/315121#issuecomment-2135805876
[2] https://lore.kernel.org/all/20231031201752.1189213-1-mmaurer@google.com/
[3] Of course I only realized this _after_ I spent some time hacking a rustc
    patch together 🙃
[4] This broke with

        error[E0463]: can't find crate for `core`
          |
          = note: the `aarch64-unknown-none` target may not be installed
          = help: consider downloading the target with `rustup target add aarch64-unknown-none`
          = help: consider building the standard library from source with `cargo build -Zbuild-std`

[5] While the build is fine, the VM tests are still panicking, but
    that's also the case for `kernel-generic` because of a 9p
    regression:

        switch_root: can't execute '/nix/store/zv87gw0yxfsslq0mcc35a99k54da9a4z-nixos-system-machine-test/init': Exec format error
        [    1.734997] Kernel panic - not syncing: Attempted to kill init! exitcode=0x00000100
        [    1.736002] CPU: 0 UID: 0 PID: 1 Comm: switch_root Not tainted 6.12.0-rc1 #1-NixOS
        [...]

    Reported as https://lore.kernel.org/all/D4LHHUNLG79Y.12PI0X6BEHRHW@mbosch.me/T/#u
2024-10-12 17:08:18 +02:00
Maximilian Bosch
db56cecb0d
Merge: linux: mark <6.12 with Rust as broken, assert on <6.7 with Rust (#346648) 2024-10-12 17:04:58 +02:00
github-actions[bot]
c64ae284c0
Merge master into staging-next 2024-10-10 18:04:46 +00:00
K900
b72f50d54d linux_6_6: 6.6.55 -> 6.6.56 2024-10-10 14:28:31 +03:00
K900
d46a9a88bd linux_latest-libre: 19631 -> 19643 2024-10-10 14:05:42 +03:00
K900
3a2f84759e linux_6_6: 6.6.54 -> 6.6.55 2024-10-10 14:05:24 +03:00
K900
7c3d301c34 linux_6_10: 6.10.13 -> 6.10.14 2024-10-10 14:05:19 +03:00
K900
2859f7a0e0 linux_6_11: 6.11.2 -> 6.11.3 2024-10-10 14:05:16 +03:00
K900
cb9384a430 linux_testing: 6.12-rc1 -> 6.12-rc2 2024-10-10 14:05:12 +03:00
Vladimír Čunát
a0c9222e11
Merge branch 'master' into staging-next
(a bit older master for now, due to a conflict in dhcpcd service)
2024-10-08 14:59:47 +02:00
Atemu
090a10b227
linux_xanmod, linux_xanmod_latest: 2024-10-04 (#346523) 2024-10-08 08:10:36 +02:00
Maximilian Bosch
19b9676383
linux: mark <6.12 with Rust as broken, assert on <6.7 with Rust
Linux 6.7 is the oldest kernel with Rust support, so the config part
should fail hard if 6.6 or older requests the Rust feature. Until now
this was silently ignored[1].

It turned out that Rust for Linux 6.11 or older fails for unknown
reasons[2]. We decided to not bother since it's not a longterm kernel
and 6.12 seems fine again. As a result, marking this as broken.

[1] https://github.com/NixOS/nixpkgs/pull/345534#discussion_r1781392312
[2] https://github.com/NixOS/nixpkgs/pull/345534#issuecomment-2391238381
2024-10-05 13:31:09 +02:00
Shawn8901
154b16f392 linux_xanmod_latest: 6.10.11 -> 6.11.2 2024-10-04 23:49:20 +02:00
Shawn8901
76bd7b41c8 linux_xanmod: 6.6.52 -> 6.6.54 2024-10-04 23:47:15 +02:00
github-actions[bot]
fb53f9f64b
Merge master into staging-next 2024-10-04 18:04:31 +00:00
K900
debb6d9df4 linux/hardened/patches/6.6: v6.6.51-hardened1 -> v6.6.53-hardened1 2024-10-04 18:28:37 +03:00
K900
9864180cdd linux/hardened/patches/6.10: v6.10.10-hardened1 -> v6.10.12-hardened1 2024-10-04 18:28:22 +03:00
K900
748148ac98 linux/hardened/patches/6.1: v6.1.110-hardened1 -> v6.1.112-hardened1 2024-10-04 18:28:04 +03:00
K900
0cae3b65e2 linux-rt_5_15: 5.15.163-rt78 -> 5.15.167-rt79 2024-10-04 18:27:18 +03:00
K900
31114886f2 linux_6_6: 6.6.53 -> 6.6.54 2024-10-04 18:24:03 +03:00
K900
a3a38442c3 linux_6_10: 6.10.12 -> 6.10.13 2024-10-04 18:24:00 +03:00
K900
d7fc6b3d1e linux_6_11: 6.11.1 -> 6.11.2 2024-10-04 18:23:56 +03:00
github-actions[bot]
192fd67cc3
Merge master into staging-next 2024-10-03 18:04:30 +00:00
Peder Bergebakken Sundt
3100acba08 treewide: \xc2\xa0 ->
I have no idea what this escape sequence even is, but it breaks the nix parser with cryptic errors if not used in a comment.
A friend let me know MacOS is prone to input weird spaces, not sure if that is the source.

Candidates were located and created with:

    chr="$(echo -e '\xc2\xa0')"; rg -F "$chr" -l | xe sd -F "$chr" " "

There are some examples left, most being example output from `tree` in various markdown documents, some patches which we can't really touch, and `pkgs/tools/nix/nixos-render-docs/src/tests/test_commonmark.py` which I'm not sure if should be addressed
2024-10-02 15:33:06 +02:00
K900
e52446bcac linux/common-config: begin carcinization
We now have a compatible rustc to build 6.12 with, which means
THE TIME HAS COME
PRAISE THE CRAB
2024-09-30 20:42:11 +03:00
K900
88746a7943 linux/common-config: update for 6.12
- refactor Rust checks to prepare for enablement
- enable DRM panic QR codes when Rust is enabled
- enable I2C_DESIGNWARE_CORE explicitly for all the Bay Trail things
- enable all the zram backends because they're separate options now and basically free
- enable the new and returning module compression related options
- enable scx and NFS local IO
2024-09-30 18:43:05 +03:00
K900
0ea0c2a7c6 linux-rt_6_6: 6.6.49-rt41 -> 6.6.52-rt43 2024-09-30 18:06:31 +03:00
K900
6c12dc7005 linux-rt_6_1: 6.1.108-rt40 -> 6.1.111-rt42 2024-09-30 18:05:53 +03:00
K900
6290efed15 linux-rt_5_10: 5.10.224-rt116 -> 5.10.225-rt117 2024-09-30 18:04:29 +03:00
K900
7df132ae3e linux_6_1: 6.1.111 -> 6.1.112 2024-09-30 18:04:04 +03:00
K900
20380379db linux_6_6: 6.6.52 -> 6.6.53 2024-09-30 18:04:00 +03:00
K900
8fa87fa112 linux_6_10: 6.10.11 -> 6.10.12 2024-09-30 18:03:55 +03:00
K900
30c52da8a1 linux_6_11: 6.11 -> 6.11.1 2024-09-30 18:03:47 +03:00
K900
5e8d28572a linux_testing: 6.11-rc7 -> 6.12-rc1 2024-09-30 18:03:42 +03:00
Artturin
e0464e4788 treewide: replace stdenv.is with stdenv.hostPlatform.is
In preparation for the deprecation of `stdenv.isX`.

These shorthands are not conducive to cross-compilation because they
hide the platforms.

Darwin might get cross-compilation for which the continued usage of `stdenv.isDarwin` will get in the way

One example of why this is bad and especially affects compiler packages
https://www.github.com/NixOS/nixpkgs/pull/343059

There are too many files to go through manually but a treewide should
get users thinking when they see a `hostPlatform.isX` in a place where it
doesn't make sense.

```
fd --type f "\.nix" | xargs sd --fixed-strings "stdenv.is" "stdenv.hostPlatform.is"
fd --type f "\.nix" | xargs sd --fixed-strings "stdenv'.is" "stdenv'.hostPlatform.is"
fd --type f "\.nix" | xargs sd --fixed-strings "clangStdenv.is" "clangStdenv.hostPlatform.is"
fd --type f "\.nix" | xargs sd --fixed-strings "gccStdenv.is" "gccStdenv.hostPlatform.is"
fd --type f "\.nix" | xargs sd --fixed-strings "stdenvNoCC.is" "stdenvNoCC.hostPlatform.is"
fd --type f "\.nix" | xargs sd --fixed-strings "inherit (stdenv) is" "inherit (stdenv.hostPlatform) is"
fd --type f "\.nix" | xargs sd --fixed-strings "buildStdenv.is" "buildStdenv.hostPlatform.is"
fd --type f "\.nix" | xargs sd --fixed-strings "effectiveStdenv.is" "effectiveStdenv.hostPlatform.is"
fd --type f "\.nix" | xargs sd --fixed-strings "originalStdenv.is" "originalStdenv.hostPlatform.is"
```
2024-09-25 00:04:37 +03:00
Fabián Heredia Montiel
9b19ba7d5c
linux_xanmod, linux_xanmod_latest: 2024-09-18 (#343115) 2024-09-24 08:28:32 -06:00
Fabián Heredia Montiel
904a34e89b
linux/hardened/patches/6.9: remove 2024-09-23 18:51:34 +02:00
Fabián Heredia Montiel
57a558e46d
linux/hardened/patches/6.8: remove 2024-09-23 18:51:34 +02:00
Fabián Heredia Montiel
f0e642ad8b
linux/hardened/patches/4.19: remove 2024-09-23 18:51:33 +02:00
Fabián Heredia Montiel
6a510f8518
linux: drop EOLed kernels from kernels-org.json 2024-09-23 18:51:33 +02:00
Fabián Heredia Montiel
e930509d18
linux/hardened/patches/6.6: 6.6.32-hardened1 -> v6.6.51-hardened1 2024-09-23 18:51:33 +02:00
Fabián Heredia Montiel
1f403d3a06
linux/hardened/patches/6.10: init at v6.10.10-hardened1 2024-09-23 18:51:32 +02:00
Fabián Heredia Montiel
2794012a3e
linux/hardened/patches/6.1: 6.1.92-hardened1 -> v6.1.110-hardened1 2024-09-23 18:51:32 +02:00
Fabián Heredia Montiel
6178bdf029
linux/hardened/patches/5.4: 5.4.277-hardened1 -> v5.4.284-hardened1 2024-09-23 18:51:32 +02:00
Fabián Heredia Montiel
fec646af8d
linux/hardened/patches/5.15: 5.15.160-hardened1 -> v5.15.167-hardened1 2024-09-23 18:51:31 +02:00
Fabián Heredia Montiel
ad3ec7bd3d
linux/hardened/patches/5.10: 5.10.218-hardened1 -> v5.10.226-hardened1 2024-09-23 18:51:31 +02:00
Fabián Heredia Montiel
60623de0b3
linux/hardened: fix update script
Due to releases now including a v (and before didn't) hardened hasn't
been updated since May 2024 (4 months ago)
2024-09-23 18:51:31 +02:00