NixOS RISC-V | 238 Members | |
| NixOS on RISC-V https://wiki.nixos.org/wiki/RISC-V https://pad.lassul.us/NixOS-riscv64-linux | 68 Servers |
| Sender | Message | Time |
|---|---|---|
| 19 Mar 2025 | ||
| 21:12:14 | ||
| 24 Mar 2025 | ||
bugs in QEMU's RISC-V implementationjust use https://github.com/LekKit/RVVM :) it's jit is also faster than qemu tcg | 11:50:19 | |
bugs in QEMU's RISC-V implementationjust use https://github.com/LekKit/RVVM :) its jit is also faster than qemu tcg | 11:51:10 | |
| How do you connect up RVVM with the build infra? I have the binfmt-misc stuff setup for doing builds on my EPYC machine (not much luck yet lol, needs some more work to get my VisionFive2 up and running), is RVVM the same deal or more of a standard VM setup? | 11:52:35 | |
| RVVM is mainly a full system emulator like virtualbox, but it also has (too much WIP, feel free to contribute!) rvvm-user ofc it uses softmmu (which is slow), but there is some work on using hardware mmu (without kvm) via low-level mmu hacks, which are currently (experimentally) implemented for risc-v, but could also be implemented for x86 and arm, if you know (or know someone who knows) a lot about x86 ring0 assembly and mmu setup - feel free to help :) https://github.com/LekKit/RVVM?tab=readme-ov-file#%EF%B8%8F-support-the-project https://github.com/LekKit/shadow_pgt | 12:10:37 | |
| Nice, thanks for the info! I'll have a go at setting up a VM on my EPYC machine tonight. Still getting started with RISC-V, and I want to initially get a good idea of what the bootstrapping experience is like when you combine emulation/small physical hardware like the VisionFive2. Already started having fun with packages that I previously couldn't build for armv7l either not building under QEMU emulation (mainly checks). I don't think I'm the ASM guy unfortunately, i'm a systems/bpf dev but nothing that low level. | 12:49:04 | |
| Do we have any experience so far with how well Nixpkgs takes changes like this for RISC-V?: https://github.com/NixOS/nixpkgs/blob/4d82b26c6a5da66d0c78407bff11562aa2118e89/pkgs/by-name/bo/boehmgc/package.nix#L64-L70 | 12:55:53 | |
combine emulation/small physical hardware like the VisionFive2what? canadian cross? | 13:06:19 | |
| Haha, worded that poorly. I mean I have a big x86_64 machine that can do emulation, and a small RISC-V machine that can do native builds. Hoping that between the two I can bootstrap properly. | 13:08:12 | |
| you can cross-compile an sdcard first, and then do a native recompilation. I think it takes ~1w to natively compile a basic system on the VF2 only, 3-4days on the Premier / Megrez boards, and 1-2 days on the Pioneer. | 13:12:37 | |
| qemu user mode emulation works for many packages and is ok performance wise. system emulation is comparable to the JH7110, so keep your expectations in check. | 13:14:51 | |
| I had 8 VMs with 8 cores each running on a 64core threadripper at some point and it was a miserable experience :P | 13:15:37 | |
| Awesome, thank you! And hopefully last question for now, cross compiling the SD image comes from the instructions on https://wiki.nixos.org/wiki/NixOS_on_RISCV/VisionFive_2? I'm currently trying to bootstrap from their Debian but would be easier in NixOS. | 13:24:48 | |
| did not know that wiki page existed. I started from https://github.com/NixOS/nixos-hardware/tree/master/starfive/visionfive/v2 but that seems to be the same thing | 13:26:44 | |
| Shameless plug: I have vf2 sd image cached at https://hydra.nichi.co/job/nixos/riscv/visionfive2 | 13:27:11 | |
| (I'm no longer sponsored to do this work so consider it a best effort thing) | 13:27:30 | |
| src: https://github.com/NickCao/nixos-riscv | 13:28:10 | |
| 25 Mar 2025 | ||
| 17:00:21 | ||
| 26 Mar 2025 | ||
| 03:50:17 | ||
| 07:00:42 | ||
Download 1000002138.jpg | 18:00:50 | |
In reply to @misuzu:matrix.orgOrdered one | 18:00:59 | |
| 19:28:35 | ||
| 27 Mar 2025 | ||
| Anyone tried to build something without crosscompiling (so system=riscv64-linux; no crossSystem), via qemu-user or natively recently? | 20:40:33 | |
On current unstable, bison is failing doCheck for me, but it's in one of the bootstrap stages, so it's a huge pain in the ass to override | 20:40:58 | |
* On current unstable, bison is failing doInstallCheck for me, but it's in one of the bootstrap stages, so it's a huge pain in the ass to override | 20:42:42 | |
NixOS compiled fine for commit 3a228057.(See https://github.com/AlexandreTunstall/nixos-riscv/blob/6fc5181216631eaeec703fb09028b127c01d27a1/flake.lock#L9) | 20:42:47 | |
| So the regression has happened in the past month or so. | 20:43:11 | |
| Let me double check if that commit works for me, maybe I did something dumb | 20:43:37 | |
| hm, it does not, fails the same way | 23:13:52 | |