30 Jun 2023 |
ElvishJerricco | so bjornfor's suggestion isn't in there | 16:22:17 |
@lily:lily.flowers | In reply to @elvishjerricco:matrix.org so bjornfor's suggestion isn't in there It's in commit message | 17:01:55 |
@lily:lily.flowers | There were no diff changes | 17:02:01 |
ElvishJerricco | oh whoops my bad; thought there was meant to be a comment | 19:53:15 |
ElvishJerricco | all good | 19:53:17 |
ElvishJerricco | * oh whoops my bad; thought there was meant to be a comment in the descriptions | 19:54:10 |
ElvishJerricco | * oh whoops my bad; thought there was meant to be a comment in the option descriptions | 19:54:15 |
ElvishJerricco | though, actually, maybe it should be in the option descriptions, since they actually aren't relevant to scripted stage 1? I dunno, up to you Lily Foster | 19:55:25 |
@lily:lily.flowers | In reply to @elvishjerricco:matrix.org though, actually, maybe it should be in the option descriptions, since they actually aren't relevant to scripted stage 1? I dunno, up to you Lily Foster I can add them after my next flight, since that is admittedly probably a good idea. It's not like I'll have much else to do waiting in an airport for a few hours | 20:24:51 |
1 Jul 2023 |
ElvishJerricco | i wonder if the nixos test framework should be able to run the backdoor unit in stage 1 | 23:02:10 |
ElvishJerricco | it could be like plymouth and survive across stages | 23:02:29 |
2 Jul 2023 |
ElvishJerricco | Sweet. Extremely rough terrible proof of concept actually works. Can backdoor into stage 1 now. But I'm just starting a different shell in stage 1, killing it, and reconnecting the machine to the stage 2 shell later. I wonder if there's value in maintaining one shell process across stages and chroot'ing like plymouth does though. | 21:18:41 |
ElvishJerricco | Like maybe there's things you could do to supervise the transition that might be useful? | 21:18:53 |
3 Jul 2023 |
@nikstur:matrix.org | In reply to @elvishjerricco:matrix.org i wonder if the nixos test framework should be able to run the backdoor unit in stage 1 That sounds lovely | 14:34:19 |
7 Jul 2023 |
oddlama | I've run into a race condition when starting vms (microvm.nix), where guests have a filesystem declared as neededForBoot = true; type = "virtiofs"; . It looks like the kernel module required to load these filesystems is just inserted via systemd-modules-load which has no defined ordering with regards to the file system mount units. Thus, it sometimes happens to late and the mounting fails. | 00:38:55 |
oddlama | The module is available in the initramfs though, so I'm not sure whether this is a misconfiguration in microvm.nix or whether there is a missing dependency here. | 00:38:57 |
oddlama | Any ideas? | 00:39:02 |
ElvishJerricco | Well that's especially odd because mounting an FS should implicitly load its kernel module if it isn't loaded already | 00:40:00 |
ElvishJerricco | so ordering with systemd-modules-load shouldn't matter | 00:40:15 |
ElvishJerricco | in fact I don't even think we load FS drivers with that | 00:40:24 |
oddlama | I had a similar thought, but it's definitely an issue with the modules. If you enter the emergency shell you can just mount them without any issue | 00:40:52 |
ElvishJerricco | Hm. Would love to see a minimal repro nixos tests | 00:41:08 |
ElvishJerricco | * Hm. Would love to see a minimal repro nixos test | 00:41:09 |
ElvishJerricco | regardless | 00:41:14 |
ElvishJerricco | you can do x-systemd.after=systemd-modules-load.service as a workaround | 00:41:30 |
oddlama | It's especially hard to reproduce, because I can only reliably hit the bug when restarting 6 vms at once, and even then only 20% of the time | 00:41:46 |
ElvishJerricco | luckily nixos tests let you define arbitrarily many machines and start them all with start_all() :) | 00:42:26 |
oddlama | I can try isolating this tomorrow. It's already past bedtime for me | 00:45:36 |
oddlama | My best explanation for this right now is that the virtiofs module is loaded but not virtio_blk or some other module required for to see the actual shares. The initial mounts fail with virtio-fs: tag <ro-store> not found (the share is called ro-store), suggesting that the virtiofs module is loaded but some underlying module is missing to communicate with the hypervisor | 00:49:12 |
ElvishJerricco | oh that's interesting | 00:49:46 |