-
-
Notifications
You must be signed in to change notification settings - Fork 3.7k
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 init fails on version 255, trying to mount a non-existent disk with no time limit #30395
Comments
I'm also experiencing this regression. I tried downgrading kernel versions, and no luck. (I tried Attached is a picture of what I saw when attempting to boot.
^ That's from a booting after reverting to systemd-254. |
Wow, this just happend to me as well... After a few hours of troubleshooting I finally fixed it by downgrading to 254. In my case I'm not using any sort of encryption, and all my fstab looked good (afterall, the disk it was trying to mount wasn't even in it). Happened on both the arch 6.6.3 and 6.6.6 kernel. |
Yep, I think I came to similar conclusion while trying to troubleshoot.
Adding |
So assuming your UEFI implementation is good (we do successfully erase the variable after resuming), this means that the swap used for previous hibernation is missing? Does that ring a bell? |
@harrythezomby: Hmm, you removed the disk to which you hibernated? That's pretty much unsupported and would cause data corruption. |
@keszybz Sure! I actually have that file too. cmdline file: rd.luks.name=67e719fb-eb19-43f7-81f5-99817ded6087=root root=/dev/mapper/root zswap.enabled=0 rw rootfstype=ext4 loglevel=3 The first file has some characters that I have trouble pasting in here, so here's the file if those characters are of importance (I changed the extension to txt since github won't allow uploading files without extension, but otherwise it's the same file): Edit: It's strange though. I haven't setup hibernation for this system, and I installed it fresh with a 6.6.4 kernel. I remember setting up hibernation a few months ago though on a kernel around the version specified in the HibernateLocation file, but since then I have formatted the disk entirely several times and installed Arch from scratch. Is systemd picking up on deleted files or configurations on the disk that are not overwritten by newer files? And my config should be right I think since the previous versions of systemd seem to be working. Adding noresume to kernel parameters fixes the issue for me. |
With systemd >= 254, the resume configuration is passed through However, we tuned the variable clearance logic several times, so it's possible that an ancient record is never cleared/used by v254, but got picked up by new logic in v255. Please try to remove |
I see. That's interesting! Thank you for explaining it. Edit: To whomever is reading this because of running into the same issue: The HibernateLocation file is likely to be immutable by default, so you can't delete it at first. Change the immutable attribute of the file so that it isn't immutable anymore (sudo chattr -i /path/to/HibernateLocationFile), and then remove it with "sudo rm". |
I'll close this here. #30438 is enough to make this less significant, and once you're in the system you can remove the EFI variable through efivarfs. |
@keszybz Hmm, at least the component involved is hibernate-resume rather than pid1. Why change the tag back? |
systemd version the issue has been seen with
255-1
Used distribution
Arch
Linux kernel version used
6.6.4-arch1-1
CPU architectures issue was seen on
x86_64
Component
systemd
Expected behaviour you didn't see
System being able to initialize successfully.
Unexpected behaviour you saw
System fails to boot. I've tried to go into emergency or rescue modes, but that doesn't work since systemd first tries to mount a non-existant disk with no time limit, therefore emergency mode is unaccessible.
I have checked the crypttab and fstab files for the entry that systemd v255 tries to mount, but it's not there. lsblk and blkid doesn't even show the uuid of the disk that systemd tries to mount on boot.
For now, I'm using a fallback boot entry which uses busybox for the init system. I'm using v255 on another, newer system with a luks2 encrypted ssd partition, which the newest systemd can initialize with no problem. And of course since this is a regression I could initialize the same system successfully with systemd v254.
Tell me if there's anything I can do for the debug process.
This is my first issue here, so I'd happily send any requested logs or debug output if requested :)
Steps to reproduce the problem
I don't think it's reproducible for everyone, but in my case at least:
Additional program output to the terminal or log subsystem illustrating the issue
No response
The text was updated successfully, but these errors were encountered: