| 12 Oct 2021 |
Vladimír Čunát | t??.cunat.cz machines are mine. (location, ownership, management) | 13:54:19 |
Vladimír Čunát | It's really just one small machine at this moment only, though I hope to repair the one for metrics. | 13:54:58 |
hexa |  Download image.png | 13:55:11 |
| 13 Oct 2021 |
| Piper McCorkle (she/her or they/them) joined the room. | 05:34:55 |
Piper McCorkle (she/her or they/them) | What would the hurdles be to add qemu-binfmt to Hydra builders? I'm working on sparc64 and ppc64le bootstrap seeds and investigating the possibility of running the 3-stage build entirely on Hydra, so that they're actually just derived from the x86_64-linux seeds | 05:37:27 |
Ryan Burns | The one thing I would worry about is poorly written cross packages "working" on hydra because of binfmt, because executable from the wrong arch are being run via qemu. It's good for the builders to mirror a "vanilla" NixOS install for the sake of local reproducibility. | 05:47:05 |
Ryan Burns | This isn't an issue if it's possible to make binfmt opt-in on a per-package basis. Idk if that's possible or how hard that would be | 05:47:36 |
Piper McCorkle (she/her or they/them) | Sadly you can't namespace binfmt definitions. Hmm... | 05:48:34 |
Piper McCorkle (she/her or they/them) | I guess one way of namespacing would be do spin up an x86_64-linux NixOS VM with binfmt-misc inside, that way those systems don't need to have NixOS building | 05:54:42 |
Ryan Burns | I wonder if it would be possible to do that and still get KVM accel | 05:56:30 |
Piper McCorkle (she/her or they/them) | Should be, it's just a regular NixOS VM that happens to have binfmt_misc configured | 05:56:49 |
Piper McCorkle (she/her or they/them) | Granted the KVM accel won't do much for the binary emulation, but things like Nix would be accelerated | 05:57:11 |
Piper McCorkle (she/her or they/them) | * Granted the KVM accel won't do much for the binary emulation of the other arch, but things like Nix would be accelerated | 05:57:22 |
Ryan Burns | True, probably wouldn't make much difference for total build time | 05:57:48 |
Piper McCorkle (she/her or they/them) | Yep, especially if we spin up a VM and run the whole bootstrap process inside it | 05:58:31 |
Piper McCorkle (she/her or they/them) | * Yep, especially if we spin up a VM and run the whole bootstrap process inside it, that way there's no boot overhead | 05:58:47 |
Vladimír Čunát | In reply to @hexa:lossy.network sent an image. Oh, now I see... at the top of https://hydra.nixos.org/machines That looks like Hydra interpreting something meant as a comment. | 07:46:07 |
sterni | In reply to @piper:lutris.engineering What would the hurdles be to add qemu-binfmt to Hydra builders? I'm working on sparc64 and ppc64le bootstrap seeds and investigating the possibility of running the 3-stage build entirely on Hydra, so that they're actually just derived from the x86_64-linux seeds you can build cross packages on hydra as well, I think that would be more worthwhile actually | 08:08:22 |
sterni | of course you then can't get binary cache for any native packages from hydra | 08:08:38 |
Piper McCorkle (she/her or they/them) | The first stage of building bootstrap-tools is cross, but the second two stages are native | 08:09:01 |
sterni | ah right, yeah | 08:09:23 |
sterni | I wonder how noticeable the performance cost of binfmt_misc would be for us; I think it would hurt us more than e. g. alpine which build riscv64 packages using it since we rebuild everything a lot | 08:10:37 |
Rick (Mindavi) | There's also a chance of miscompilation due to bugs in the emulator or mismatched feature support, I think. Anyway, afaik it's also very slow | 08:22:22 |
Piper McCorkle (she/her or they/them) | I am realizing from experience how slow it is... unfortunately I don't know if there's a better option without having a native buildbox, and it would be hard to get a dedicated buildbox for these exotic architectures | 08:23:32 |
sterni | Does it sound plausible that some Hydra builders are running a Kernel < 5.9? | 10:18:51 |
Vladimír Čunát | In reply to @sternenseemann:systemli.org Does it sound plausible that some Hydra builders are running a Kernel < 5.9? t4b does. Generally we probably don't want to rely on that in builds. | 10:20:24 |
sterni | Vladimír Čunát: bingo :) https://hydra.nixos.org/build/154918256/nixlog/2 | 10:25:20 |
sterni | but that's easy I'll just disable the test suite if the kernel is too old | 10:25:41 |
Vladimír Čunát | I suspected it's the only one with old kernel. But I don't think there's just hydra.nixos.org; we also want people to be able to reproduce the build, and 5.9 isn't that old nowadays. | 10:27:59 |
Vladimír Čunát | * I suspected it's the only one with old kernel. But I don't think there's just hydra.nixos.org; we also want people to be able to reproduce the build, and 5.9 isn't that old nowadays (even though 5.10 has been default on NixOS for some time). | 10:28:41 |