nixpkgs icon indicating copy to clipboard operation
nixpkgs copied to clipboard

Build failure: linuxKernel.kernels.linux_lqx

Open GGG-KILLER opened this issue 9 months ago • 11 comments

Steps To Reproduce

Steps to reproduce the behavior:

  1. Switch kernel to LQX (boot.kernelPackages = pkgs.linuxPackages_lqx;)

Build log

https://gist.github.com/GGG-KILLER/e27fd7b8726e164933801eeca798c341

Important lines:

error: option not set correctly: ZSWAP_COMPRESSOR_DEFAULT (wanted 'lz4', got 'zstd')
error: option not set correctly: ZSWAP_COMPRESSOR_DEFAULT_LZ4 (wanted 'y', got 'n')

Additional context

None.

Notify maintainers

@JerrySM64

Metadata

Please run nix-shell -p nix-info --run "nix-info -m" and paste the result.

Revision of nixpkgs: 6143fc5eeb9c4f00163267708e26191d1e918932

 - system: `"x86_64-linux"`
 - host os: `Linux 6.8.6-lqx2, NixOS, 24.05 (Uakari), 24.05.20240502.63c3a29`
 - multi-user?: `yes`
 - sandbox: `yes`
 - version: `nix-env (Nix) 2.21.2`
 - nixpkgs: `/nix/store/p69bcs7ma6ijj8v9xsrg3nq3nn8ryn95-source`

Add a :+1: reaction to issues you find important.

GGG-KILLER avatar May 13 '24 13:05 GGG-KILLER

That's odd. It seems like Nix tried to use zstd instead of lz4. That's not what's supposed to happen at all, as it's declared to use lz4 in the source file as seen here: image

Did you do any modifications to the kernel in your configuration?

JerrySM64 avatar May 13 '24 14:05 JerrySM64

Nope, all I have is boot.kernelPackages set to pkgs.linuxPackages_lqx in my config: image

I tried to switch to

  boot.kernelPackages = pkgs.linuxPackagesFor (pkgs.linux_lqx.override {
    structuredExtraConfig = with lib.kernel; {
      ZSWAP_COMPRESSOR_DEFAULT = lib.mkForce (freeform "lz4");
      ZSWAP_COMPRESSOR_DEFAULT_LZ4 = lib.mkForce (option yes);
    };
  });

but it keeps trying to use zstd for some reason

GGG-KILLER avatar May 13 '24 14:05 GGG-KILLER

Then it seems like your configuration forces to use zstd somewhere. I'll look through your config and let you know if I find something.

JerrySM64 avatar May 13 '24 14:05 JerrySM64

Before checking my config, I pulled latest NixOS/nixpkgs master image

and ran nix build for lqx, it seems to be broken on master: image

GGG-KILLER avatar May 13 '24 14:05 GGG-KILLER

Well, the screenshot from the code, I provided earlier is from master. It's declared to use lz4 for both Zen and Liquorix. That's why I'm so confused about it.

JerrySM64 avatar May 13 '24 14:05 JerrySM64

I think #302300 might be related to this, it changed the base kernel settings to always use zstd

GGG-KILLER avatar May 13 '24 14:05 GGG-KILLER

Okay, can you try, building the Zen kernel for me real quick, please? If that also fails, I will ask in that one over there.

I don't have a NixOS x86 installation on hand since I switched to my Mac because of power draw so, I can't test it myself right now.

JerrySM64 avatar May 13 '24 14:05 JerrySM64

Zen seems to be building, it just copied from the binary cache instead of attempting to build (like LQX was doing)

GGG-KILLER avatar May 13 '24 15:05 GGG-KILLER

Zen seems to be building, it just copied from the binary cache instead of attempting to build (like LQX was doing)

So as it's supposed to. Interesting.

Why does the binary cache not have the Liquorix one then? Because it can't build it, I know. The question, I'm having is why does Liquorix fail in the first place? It basically is the same except for additional (unrelated) tweaks.

@thiagokokada do you know what's going on here?

JerrySM64 avatar May 13 '24 15:05 JerrySM64

I mean, LQX seems to be the only one with the lz4 tweaks (since the ZSWAP stuff is behind a optionalAttrs (isLqx)), I've done the following and got LQX to build as well:

  boot.kernelPackages = pkgs.linuxPackagesFor (pkgs.linux_lqx.override {
    structuredExtraConfig = with lib.kernel; {
      ZSWAP_COMPRESSOR_DEFAULT_ZSTD = lib.mkForce (option no);
    };
  });

GGG-KILLER avatar May 13 '24 15:05 GGG-KILLER

Okay. I'll setup up a NixOS x86 system later and fix it. I have to update the kernels anyway.

Now that I went through the code more focused, I read the file wrong earlier. Sorry about that!

JerrySM64 avatar May 13 '24 15:05 JerrySM64

Actually it has been fixed in this PR already: #311793 PR for updated kernels is also up now. Sorry that it took so long. Got distracted with Alpine Linux.

Anyway, this issue should now be fixed. Closing.

JerrySM64 avatar May 21 '24 13:05 JerrySM64