Read-Only Filesystem

I was changing the volume settings of my PC when the PC crashed and restarted itself and now the system starts to a text-only login greeting me with a message that the filesystem has become Read-Only.

I tried btrfs --rescue and btrfs repair and btrfsc --rescue but they all didn’t work.

Please help

OK I tried to mount the filesystem in normal mode and it works, so it’s not really corrupt.

I used # mount -o remount,rw /; and the filesystem mounts without objections or errors, but if I reboot it mounts again as read-only.

Probably caused by the latest systemd update, which got retracted.
https://bugzilla.novell.com/show_bug.cgi?id=900558

If you have “ro” at the kernel command line, remove it. This was ignored before but is respected now.

And/or downgrade systemd to the previous version that’s still in the update repo, using YaST’s “Versions” tab (or “Update Unconditionally”) e.g.

I used Software Management to Update Unconditionally all packages matching the word “systemd” but the system still fails to boot normally. I checked for ro but I don’t have that.

Here is the error message:

        39.157880] systemd-readahead[499]: failed to open pack file: Read-only file system.

The Unconditional Update didn’t help, but reversing it through the Versions tab worked great. Thank you!

I have another question, though.

If the unconditional update didn’t work does this mean that the buggy versions are still in the repo ? Is there a way to blacklist them so they don’t install again when the system auto-updates ?

No, the “buggy” version is definitely not in the repo any more.

No idea why the unconditional update didn’t work then.
You did not add the update-test repo to your system (the update is still, or again, in there) by chance, did you?

I double-checked my repos. No, I don’t have that one.

I tried another unconditional update and this time it worked fine. Systemd updated itself and the system boots normally.

Thank you very much for the help.

You’re welcome.

Btw, in case you’re interested:
the problem actually seems to be in grub2-mkconfig. It adds “ro” to the boot options on UEFI systems (the upstream version does so on all systems, but that’s patched out by openSUSE, only in this case it somehow stayed in).
This option was ignored until now, but the retracted systemd update contained a fix to respect that and really mounted / as read-only if that option is present.
And as it was added by grub2-mkconfig when generating the grub.cfg, it doesn’t show up in YaST->Boot Loader either.

See https://forums.opensuse.org/showthread.php/510037-Starts-to-boot-normally-but-then-goes-to-command-prompt?p=2730798#post2730798 for more details.