-
-
Notifications
You must be signed in to change notification settings - Fork 14.1k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Systemd-boot fails to recognize keyboard input on some systems #143847
Comments
Fixed the systemd reference issue link. |
@anund with systemd/systemd#19191 merged, did this end up getting fixed upstream (with systemd/systemd@e98d271)? If so, has it been cherry-picked to systemd-stable? |
Judging from https://github.com/systemd/systemd-stable/blob/v249-stable/src/boot/efi/boot.c it has not been picked up there. |
I asked in systemd/systemd#19191 (comment). |
I'm working through verifying the suggested fixes. I've settled on the following patching method to rebuild less than the entire world. diff --git a/nixos/modules/system/boot/loader/systemd-boot/systemd-boot.nix b/nixos/modules/system/boot/loader/systemd-boot/systemd-boot.nix
index 0f76d7d6b24..2d78ad0935f 100644
--- a/nixos/modules/system/boot/loader/systemd-boot/systemd-boot.nix
+++ b/nixos/modules/system/boot/loader/systemd-boot/systemd-boot.nix
@@ -14,7 +14,13 @@ let
inherit (pkgs) python3;
- systemd = config.systemd.package;
+# systemd = config.systemd.package;
+# systemd = (config.systemd.package.override {
+# stdenv = pkgs.gcc11Stdenv;
+# });
+ systemd = config.systemd.package.overrideAttrs (oldAttrs: {
+ patches = oldAttrs.patches ++ [ ./0024-PATCH-PARTIAL-REVERT-commit-tree-wide-replace-strver.patch ];
+ });
nix = config.nix.package.out;
The arch partial revert patch may not actually work. They may have fixed it by building with gcc11. ~few days and I should be able to say which of the three possible options fix the bootloader for my system. Likely the slowest thing at this point would be figuring out what the back port patch for 19191 will be for the nix systemd-stable + patch set. |
All three fixes work. Arch patch manually applied to fix line number differences, compiling with gcc11 the way indicated above, and manually back porting systemd/systemd@e98d271. |
systemd/systemd#19191 (comment) next 249 stable release will have the fix. |
Should we add a patch with these fixes while we wait for the next upstream release? I'm experiencing this issue as well, it's quite annoying. |
I think we could. Could you file a PR that |
Created #144422 with the two cherry-picked commits as two patches. |
I still can't press any keys while in boot menu - I just updated to 73369f8 which includes the systemd patch added in #144422 . I also ran |
It seems the issue still occurs for me as well. |
Try |
Can you point me / us to where that version is compared? You mean the version of systemd-boot? |
Why wouldn't
For debugging you need to make https://github.com/NixOS/nixpkgs/blob/master/nixos/modules/system/boot/loader/systemd-boot/systemd-boot-builder.py#L231-L267 happy. The first branch of the if is applicable with |
The version of the systemd-boot on disk is the important version. There are three version comparison that come up during rebuild:
The first will skip updating the bootloader if the currently running copy of systemd and systemd-boot agree they're the "same" version. Systemd version comes from The second will avoid downgrading to an old version. This will happen if systemd-boot is version The third comparison is where many of the |
Nixos unstable has three changes https://nixpk.gs/pr-tracker.html?pr=140046, https://nixpk.gs/pr-tracker.html?pr=144422, and https://nixpk.gs/pr-tracker.html?pr=144429. If your bootloader is currently broken with the problems listed in this bug |
Also thanks for showing a good usage for https://nixpk.gs/pr-tracker.html hadn't known this website before! |
@IvarWithoutBones does the suggested fix work for you like doronbehar? |
That does seem to work, thank you for the great explanation! I think this can be closed again now :) |
It sounds a bit unpleasant that regular |
The current reliance on In retrospect waiting for v249.6 to be tagged and released upstream (it is now, v249.7 is tagged) should have avoided the problems Ivar and doronbehar encountered since bootctl would have seen a version increase and installed a new bios during the update call. ('course we didn't know long the .6 release would take and I wouldn't have found the bug in |
Oh OK, so it should at least get updated automatically on the next version bump. |
There hopefully should be a 249.8 soon: systemd/systemd#21498 (comment) |
I am still having this issue on the latest |
This bug is machine dependent so there's an outside possibility your hardware isn't fixed by the change upstream. Please provide some more information @FlorianFranzen. Things that might help:
If nothing obvious pops out as a mistake you may need to follow the above comments to debug your machine more directly. |
I have been unable to resolve this issue so far. I tried various alternative patches without success. I will wait for the next systemd release before I invest any more time in this. |
Updated systemd is in the |
We now updated systemd to 249.7 on master since commit 76e5d23. |
Describe the bug
systemd-boot fails to correctly recognize keyboard input after version 248 on some systems. This is a known issue systemd/systemd#19191 with a known patch https://github.com/archlinux/svntogit-packages/blob/packages/systemd/trunk/0003-PARTIAL-REVERT-commit-tree-wide-replace-strverscmp-and-str_verscmp-with-strverscmp_improved.patch
Steps To Reproduce
Steps to reproduce the behavior:
Expected behavior
systemd-boot accepts keyboard input
Additional context
Reading through the systemd issue it appears this is related to compiling with GCC 10. There is a suggestion it goes away with GCC 11 and there is a change on master at the end of the issue (different from the known patch) that also suggests it fixes the issue.
The associated arch systemd-stable patch will not apply as is.
#140046 Currently prevents systemd-boot updates from applying as
bootctl --path=... --update
is not being called. I think this prevents most users on unstable from seeing this issue.Notify maintainers
@andlr @eelco @flokli @kloenk
Metadata
Maintainer information:
The text was updated successfully, but these errors were encountered: