| 30 Jun 2022 |
matthewcroughan - nix.how | with the pi 4 a lot is being upstreamed and worked into kernel 5.20 | 09:14:59 |
matthewcroughan - nix.how | so even the GPU will just work out of the box soon | 09:15:22 |
dramforever | So I'm here dreaming about a RISC-V SBC thing that runs mainline linux. Not the VisionFive because that's probably going to be dead. | 09:15:35 |
dramforever | by then, i mean | 09:15:43 |
matthewcroughan - nix.how | Yeah but it's fun to work on, and try to do the most we can with it | 09:16:13 |
matthewcroughan - nix.how | and a good experiment to try and get NixOS being the best it can be, for such a board | 09:16:24 |
matthewcroughan - nix.how | as you said, getting boot.loader.oreboot working, etc. | 09:17:04 |
matthewcroughan - nix.how | If we can get it working here, we can be more ready to get it working on better hardware in future | 09:17:56 |
dramforever | Frankly at this point I'm done with the StarFive forum support people. But I do think their software engineers (like Esmil as mentioned earlier) are doing great work | 09:18:06 |
dramforever | And clearly bootloader-wise the thing we (as in, the entire RISC-V community) should be working on is boot.loade.efi for RISC-V but I digress. | 09:18:51 |
matthewcroughan - nix.how | Apparently the AllWinner D1 is better, and has nicer interfaces for interacting with the hardware, like a USB C serial adapter | 09:18:59 |
matthewcroughan - nix.how | so you can just flash the board directly over USB C instead of getting an rs232 out | 09:19:14 |
matthewcroughan - nix.how | * so you can just flash the board directly over USB C instead of getting an rs232 usb adapter out | 09:19:18 |
matthewcroughan - nix.how | In reply to @dramforever:matrix.org And clearly bootloader-wise the thing we (as in, the entire RISC-V community) should be working on is boot.loade.efi for RISC-V but I digress. Hehe, for me the fun bit is just making it all work, even if it's terrible | 09:20:11 |
matthewcroughan - nix.how | I love the satisfaction of making it all work with Nix, and having it continue to work | 09:20:23 |
matthewcroughan - nix.how | I have a 32 bit laptop that I still have working with Nix | 09:20:33 |
matthewcroughan - nix.how | * I love the satisfaction of making it all work with Nix, and having it continue to work | 09:20:37 |
matthewcroughan - nix.how | The latest nixos-unstable continues to work, and quite a lot more packages than you think. | 09:20:49 |
matthewcroughan - nix.how | On that old 32 bit hp compaq nc6120, services.tailscale.enable = true still works | 09:21:52 |
matthewcroughan - nix.how | And it's set up to do remote builds on my beefy ryzen 5950x box, so everything just sorta happens, and fast. | 09:22:40 |
matthewcroughan - nix.how | Is it possible to do remote builds with cross-compilation? | 09:23:07 |
matthewcroughan - nix.how | * Is it possible to do remote/distributed builds with cross-compilation? | 09:23:18 |
Alyssa Ross | should be | 09:23:24 |
dramforever | i think it works eactly the same because nix doesn't know about cross anyway | 09:24:45 |
dramforever | wait do you mean (build, host, target) kind of cross or qemu-user kind of cross | 09:25:08 |
matthewcroughan - nix.how | I mean like I'm doing in my visionfive-nix flake | 09:25:29 |
matthewcroughan - nix.how | {
nix.buildMachines = [ {
hostName = "builder";
system = "x86_64-linux";
# if the builder supports building for multiple architectures,
# replace the previous line by, e.g.,
# systems = ["x86_64-linux" "aarch64-linux"];
maxJobs = 1;
speedFactor = 2;
supportedFeatures = [ "nixos-test" "benchmark" "big-parallel" "kvm" ];
mandatoryFeatures = [ ];
}] ;
nix.distributedBuilds = true;
# optional, useful when the builder has a faster internet connection than yours
nix.extraOptions = ''
builders-use-substitutes = true
'';
}
| 09:25:31 |
matthewcroughan - nix.how | here's the example from https://nixos.wiki/wiki/Distributed_build | 09:25:41 |
matthewcroughan - nix.how | in this case, system = "x86_64-linux"; I want to be able to put a config on my visionfive, that says "Do a distributed build, where you cross-compile for riscv64 on an x86_64-linux machine" | 09:26:18 |
matthewcroughan - nix.how | this would work with binfmt, but I actually just want cross-compilatin | 09:26:36 |