!xmLtiCaAJxfhURjrXl:matrix.org

NixOS RISC-V

225 Members
NixOS on RISC-V https://wiki.nixos.org/wiki/RISC-V https://pad.lassul.us/NixOS-riscv64-linux https://github.com/orgs/NixOS/teams/risc-v66 Servers

Load older messages


SenderMessageTime
16 Mar 2026
@alex:tunstall.xyzAlexTrue, and if necessary one could also try the early console option.16:00:56
@alex:tunstall.xyzAlex

Is anyone able to build the latest Nixpkgs natively?
My build is failing during xgcc.

checking for suffix of object files... configure: error: in `/build/build/riscv64-unknown-linux-gnu/libgcc':
configure: error: cannot compute suffix of object files: cannot compile
16:01:19
@dramforever:matrix.orgdramforevermaybe powerline10k16:03:42
@dramforever:matrix.orgdramforever* maybe https://github.com/NixOS/nixpkgs/pull/49870216:03:52
@alex:tunstall.xyzAlex I could try the parent of that merge commit.
The only other option is bisecting, which would probably take days/weeks to find the problematic commit.
16:04:54
@dramforever:matrix.orgdramforeverhuh, i'd have thought that would have fixed it16:06:23
@alex:tunstall.xyzAlex Ah nevermind, my nixpkgs is older, so I should probably try that commit.
dramforever thanks.
16:06:24
@dramforever:matrix.orgdramforeverdo you have more logs16:06:25
@eljamm:matrix.orgeljammDownload felix86-with-params.log16:42:54
@eljamm:matrix.orgeljammDownload felix86.log16:42:55
@eljamm:matrix.orgeljamm These are the log files. When I pass those parameters, the test seems like it moves past the backdoor.service part, but it still doesn't seem to be doing much either. It's also pretty slow. 16:45:30
@alex:tunstall.xyzAlex

Oh so you are getting kernel logs even without setting console=....
One of the annoying things about systemd is that it doesn't log anything useful during boot.
Btw the console=... isn't really helping, even if it no longer prints warnings about backdoor.service, because it's still unable to send commands to the VM.

You could I guess try building the driverInteractive version of the test, then inside the interactive prompt run machine.shell_interact() to get a prompt (assuming this doesn't require the backdoor service, which it might).

It's also pretty slow.

I think that's because you're emulating RISC-V using binfmt emulation to run a riscv64-linux build of qEMU to run the test? That sounds to me like you have qEMU running under qEMU.

18:48:52
@alex:tunstall.xyzAlex Possibly you might just need to wait long enough for backdoor.service to come online.
How long have you given it?
18:51:47
17 Mar 2026
@alex:tunstall.xyzAlexUpdate: it worked, thanks.00:22:11
@eljamm:matrix.orgeljamm

You could I guess try building the driverInteractive version of the test, then inside the interactive prompt run machine.shell_interact() to get a prompt (assuming this doesn't require the backdoor service, which it might).

I tried that, but I wasn't able to do anything:

  • shell_interact(): same issues and doesn't give return a shell
  • ssh backdoor: crashes the VM

It's also pretty slow.

I think that's because you're emulating RISC-V using binfmt emulation to run a riscv64-linux build of qEMU to run the test? That sounds to me like you have qEMU running under qEMU.

When I first read this comment, I thought so as well, but then it got me thinking: why not enable binfmt inside the test itself? So I commented out everything I previously made and did just that. Performance-wise, everything seemed ... fine, actually.

The test fails ofc, because the package wasn't installed. But then I noticed something interesting:

{
  # the package works when installed directly
  environment.systemPackages = [
    pkgs.pkgsCross.riscv64.felix86
  ];
}

Whereas:

{
  # enabling the module, I get the previous issue with `backdoor.service`
  programs.felix86.enable = true;
}

Investigating further, I tracked this back to the felix86 boot.binfmt.registrations. More importantly, the logs now actually print something useful:

machine # [    6.846377] systemd[1]: lastlog2-import.service: Failed to spawn executor: Exec format error
machine # [    6.852359] systemd[1]: lastlog2-import.service: Failed to spawn 'start' task: Exec format error
machine # [    6.857462] firewall-start[607]: /nix/store/qhsrmq9784wvy0la4nr62dhgrjwn93sv-firewall-start/bin/firewall-start: line 105: /nix/store/s657hsrj1cknm7c4cbi87f6w7f3mlv11-iptables-1.8.11/bin/iptables: cannot execute binary file: Exec format error

Then everything clicked: my system is x86_64-linux and I'm using binfmt to emulate risc64-linux, but the module also enables emulation in the other direction, after which chaos ensues.

I already suspected this would happen, but I'm glad to actually confirm it. In a way, this kinda means the module's binfmt registration is working and I can just disable it for now in the test.

12:52:49
@eljamm:matrix.orgeljamm *

You could I guess try building the driverInteractive version of the test, then inside the interactive prompt run machine.shell_interact() to get a prompt (assuming this doesn't require the backdoor service, which it might).

I tried that, but I wasn't able to do anything:

  • shell_interact(): same issues and doesn't return a shell
  • ssh backdoor: crashes the VM

It's also pretty slow.

I think that's because you're emulating RISC-V using binfmt emulation to run a riscv64-linux build of qEMU to run the test? That sounds to me like you have qEMU running under qEMU.

When I first read this comment, I thought so as well, but then it got me thinking: why not enable binfmt inside the test itself? So I commented out everything I previously made and did just that. Performance-wise, everything seemed ... fine, actually.

The test fails ofc, because the package wasn't installed. But then I noticed something interesting:

{
  # the package works when installed directly
  environment.systemPackages = [
    pkgs.pkgsCross.riscv64.felix86
  ];
}

Whereas:

{
  # enabling the module, I get the previous issue with `backdoor.service`
  programs.felix86.enable = true;
}

Investigating further, I tracked this back to the felix86 boot.binfmt.registrations. More importantly, the logs now actually print something useful:

machine # [    6.846377] systemd[1]: lastlog2-import.service: Failed to spawn executor: Exec format error
machine # [    6.852359] systemd[1]: lastlog2-import.service: Failed to spawn 'start' task: Exec format error
machine # [    6.857462] firewall-start[607]: /nix/store/qhsrmq9784wvy0la4nr62dhgrjwn93sv-firewall-start/bin/firewall-start: line 105: /nix/store/s657hsrj1cknm7c4cbi87f6w7f3mlv11-iptables-1.8.11/bin/iptables: cannot execute binary file: Exec format error

Then everything clicked: my system is x86_64-linux and I'm using binfmt to emulate risc64-linux, but the module also enables emulation in the other direction, after which chaos ensues.

I already suspected this would happen, but I'm glad to actually confirm it. In a way, this kinda means the module's binfmt registration is working and I can just disable it for now in the test.

12:54:51
@colemickens:matrix.orgcolemickens joined the room.19:36:38
@colemickens:matrix.orgcolemickensa huge amount of native riscv64-linux builds fail with > /nix/store/shkw4qm9qcw5sc5n1k5jznc83ny02r39-default-builder.sh: line 1: genericBuild: command not found ? bit surprising to me?19:36:44
@colemickens:matrix.orgcolemickensNot sure if I'm doing something very wrong or not...19:54:19
@silvio:booq.orgSilvio joined the room.21:14:31
@alex:tunstall.xyzAlexWhich Nixpkgs commit?21:15:56
@colemickens:matrix.orgcolemickensI just tried nixos/nixpkgs/nixos-unstable#tmux21:28:00
@colemickens:matrix.orgcolemickensso 5b2c2d84341b2afb5647081c1386a80d7a8d8605 I suppose21:28:17
@alex:tunstall.xyzAlex Try latest master. There is an important change not yet in unstable that might fix the problem. 21:44:11
@colemickens:matrix.orgcolemickensokay, any chance you can link the PR so I can keep an eye on it on https://nixpk.gs?21:52:24
@colemickens:matrix.orgcolemickensthanks!21:52:26
@alex:tunstall.xyzAlex It is https://github.com/NixOS/nixpkgs/pull/498702 (linked earlier by dramforever). 21:55:06
@colemickens:matrix.orgcolemickensthat appears to be in nixos-unstable though22:18:37
@colemickens:matrix.orgcolemickenshttps://nixpk.gs/pr-tracker.html?pr=49870222:18:42
@alex:tunstall.xyzAlexOh maybe now it is. It wasn't when I checked yesterday.22:18:54

Show newer messages


Back to Room ListRoom Version: 10