| 29 Jun 2026 |
K900 | There's some seriously uhhh unconventional logic going on there | 21:17:38 |
K900 | Like genuinely I have no idea who came up with that but it's using error codes to smuggle in non-error info | 21:20:51 |
K900 | In a way that is somehow more confusing the more I stare at it | 21:21:17 |
K900 | OK no wait what the fuck is happening anymore | 21:41:41 |
K900 | I need sleep | 21:41:43 |
| 30 Jun 2026 |
K900 | OK great | 09:37:34 |
K900 | Building 260.2 in a nix-shell bootctl update also fails | 09:37:52 |
ghpzin | As mentioned before I am pretty sure it is just systemd-boot-builer picking "fallback" file as installed_version. The easiest is just a 1 line fix for filtering it out from bootctl status output before matching, ie:
--- a/nixos/modules/system/boot/loader/systemd-boot/systemd-boot-builder.py
+++ b/nixos/modules/system/boot/loader/systemd-boot/systemd-boot-builder.py
@@ -488,6 +488,8 @@
stdout=subprocess.PIPE,
).stdout
+ installed_out = "\n".join([line for line in installed_out.splitlines() if "fallback" not in line])
+
# See status_binaries() in systemd bootctl.c for code which generates this
# Matches
# Available Boot Loaders on ESP:
| 09:43:14 |
K900 | No, it's not | 09:48:40 |
K900 | Actually wait | 09:49:25 |
K900 | Ugh | 09:49:26 |
K900 | I see the problem | 09:49:29 |
K900 | It is that but not in the way I thought | 09:49:41 |
K900 | We just didn't call bootctl update if our own update check succeeded | 09:49:52 |
K900 | Which is honestly kinda bad | 09:49:57 |
K900 | Yeah OK this is so stupid | 09:51:15 |
K900 | Ughhhhh the varlink interface works | 09:53:22 |
K900 | But we can't rely on it | 09:53:24 |
K900 | ❯ sudo varlinkctl call /run/systemd/io.systemd.BootControl io.systemd.BootControl.Install '{"operation":"update"}'
Method call io.systemd.BootControl.Install() failed: Stale file handle
{
"origin" : "linux",
"errno" : 116,
"errnoName" : "ESTALE"
}
| 09:54:25 |
K900 | ESTALE here means "nothing to do" | 09:54:34 |
K900 | I wonder if it makes sense to just do varlink | 09:56:23 |
K900 | And fall back to a direct bootctl invocation | 09:56:30 |
K900 | The only situation it should matter is in a chroot | 09:57:03 |
K900 | ElvishJerricco need your thonk | 09:59:03 |
K900 | Also anyone else want to bash their head against paperless | 10:00:16 |
K900 | Or should I just rip a bisect | 10:00:20 |
K900 | And get back to you in 3-5 business days | 10:00:27 |
guillaume | I can start a bisect | 10:21:24 |
K900 | Ahead of you | 10:21:43 |
K900 |  Download Unfortunately, | 10:21:59 |