Starts to boot normally but then goes to command prompt

Good morning everyone,

This is the first time I experienced this, so please be gentle to me. :frowning: I turn on my main computer and get the bootloader. The three options are openSUSE, Advanced options for openSUSE, and Start bootloader from a snapshot.

I select the first one, and it looks like it is starting, and it even gets the green “splash screen”, but then takes me to a command prompt. I’m using 13.2, all Intel hardware. I’ve logged in and entered startx (suggested elsewhere) but I get the following:
hostname: Name or service not known
xauth: file /home/username/ .serverauth.1921 does not exist

a bunch of lines

fatal server error:
(EE) xf860OpenConsole: Cannot open /dev/tty0 (No such file or directory)
(EE)
(EE)
(EE) Please also check hte log file at "/home/username/.local/share/xorg/Xorg.0.log

I’ve done that and it’s showing the Intel drivers loading…seemingly.

Please help! I need to get into this computer.

TIA,
Mike

Well, exactly those “bunch of lines” probably contain a hint to what’s wrong.
But then “startx” doesn’t work anyway when run as user (in a default setup).

Try to run it as root.

I’d somehow suspect that you got bitten by a read-only / file-system, though.
Remove “ro” from the kernel command line and/or revert the latest systemd update, which got retracted anyway.
See also here:
https://forums.opensuse.org/showthread.php/510027-Read-Only-Filesystem

Thanks wolfi323!
I login as root, and when I enter startx, I get a box which contains: Call to lnusertemp failed (temporary directories full?). Check your installation.

I looked at the link you provided. How do I remove ro from the kernel command line?

This definitely points to a problem with your / filesystem.

I looked at the link you provided. How do I remove ro from the kernel command line?

Press ‘e’ at the boot menu, look for the line starting with “linux” or “linuxefi” and modify that, then press ‘F10’ to boot.

To make the changes permanently, use YaST->System->Boot Loader->Kernel Parameters.

You could also try to manually mount the / filesystem read-write with “mount / -o rw,remount” as root, and then modify the boot options in YaST.

After you mounted / read-write, you should also be able to get into the graphical system, by running “init 3” followed by “init 5”.
You should probably revert the systemd update then.

Just to say that I’m getting the same problem today. Up to today everything has been OK with X and KDE but now just the command prompt appears. I did an update yesterday (sorry I didn’t note down what exactly was updated) so maybe is the cause.
I guess I need to know how to update/revert the system from the command line.
Any help gratefully received.

Have you read the previous posts?

In short:

  • login as root in text mode
  • run “mount / -o rw,remount”
  • run “init 3” and then “init 5” and you should get into graphical mode
  • then revert the systemd update with YaST->Software Management, i.e. search for systemd select the package, click on “Versions” below the list, and choose the previous version, or run “zypper in -f systemd”.
    (you could also leave out step 3 and do step 4 in text mode if you like)

Also, go into YaST->System->Boot Loader->Kernel Parameters, and remove “ro” from the options if it is present.

OK, I pressed ‘e’, removed ‘ro’ from the “linuxefi” and pressed ‘F10’. Golden! Then, I navigated to the Kernel Parameters, and I do not see any ‘ro’ there. This is what is there:

VGA Mode: Unspecified

Optional Kernel Command Line Parameter: resume=/dev/sda2 splash=silent quiet showopts

Failsafe Kernel Command Line Parameter: showopts apm=off noresume edd=off powersaved=off nohz=h\off highres=off procesor.max_cstate=1 nomodeset x11failsafe

You could also try to manually mount the / filesystem read-write with “mount / -o rw,remount” as root, and then modify the boot options in YaST.

After you mounted / read-write, you should also be able to get into the graphical system, by running “init 3” followed by “init 5”.
You should probably revert the systemd update then.

For this, I go to Software Management and type systemd in the search box. I see that systemd, systemd-32bit, systemd-bash-completion, systemd-logger, and systemd-sysvinit all have the installed in red (210-25.19.1 (210-25.16.1)). I click on the Versions tab, and see that installed version with a check mark, and the 16.1 version with a dot. How do I revert this?

BWT, I have rebooted once and had to do the ‘e’ steps over again.

Thanks again so much! I feel we’re almost there!

Hm, then something else adds it.
And that is the real problem, not the systemd update.

The latter one actually fixed the bug that “ro” (which means, mount / read-only) is ignored, and others.

You seem to have the same problem as reported here then:
https://bugzilla.opensuse.org/show_bug.cgi?id=948580

For this, I go to Software Management and type systemd in the search box. I see that systemd, systemd-32bit, systemd-bash-completion, systemd-logger, and systemd-sysvinit all have the installed in red (210-25.19.1 (210-25.16.1)). I click on the Versions tab, and see that installed version with a check mark, and the 16.1 version with a dot. How do I revert this?

Just click on the box before the 16.1 version.
To be sure do that with all of those red packages, and udev too.

I looked at the bug. I’m not sure how to see that patch. I did a search in YaST2 for linuxefi but didn’t find anything. But…

Just click on the box before the 16.1 version.
To be sure do that with all of those red packages, and udev too.

I reverted to the 16.1 version, rebooted, and we’re fixed!! Question…if something is in red, like systemd was, does that mean that it’s been pulled? Or, how would I have known that the systemd update was pulled.

Thanks so very much wolfi323! As always, you rock!!

You can download/install the grub2 source package and view the patches, or you can do so directly on OBS.
This is it:

In short, it modifies grub2-mkconfig to use “linuxefi” instead of “linux” on UEFI systems, and for some reasons I don’t know it also adds the “ro”.

As mentioned, upto now that “ro” was ignored, the retracted systemd update fixed that, leading to unbootable systems…

I reverted to the 16.1 version, rebooted, and we’re fixed!! Question…if something is in red, like systemd was, does that mean that it’s been pulled?

Yes.
Or you installed a package that doesn’t exist in any repo… :wink:

Upstream grub2 always adds “ro”. linuxefi patch comes from Fedora and they simply followed the suite. (open)SUSE grub2 has patch that disables adding “ro”. This patch has no comments, it is not mentioned in changes, no wonder nobody noticed that linux and linuxefi do something differently. So the real question is, what was the reason to deviate from upstream grub behavior in the first place.

So first we have patch that changes upstream behavior in grub2, and then we have patch that changes upstream behavior in systemd. And then we complain that we have no resources to maintain openSUSE … :frowning:

Thanks for the info, especially about the patch. Hopefully they will issue a new one that will remove the ‘ro’, if indeed it isn’t needed. Or, a repaired systemd will ignore it.

So thanks again, wolfi323!

Thanks wolfi323. I did just as you said and all is now OK again. After reverting to the previous version there was no “ro” to remove.

Yes, the “ro” gets added by grub2-mkinitrd automatically (on certain systems), thus it does not appear in YaST and cannot be removed there.

As I didn’t have the problem here (and “ro” is not added to the boot options), I wasn’t sure what exactly happened.
If it would have been shown by YaST, removing it there should also have helped (or so I thought)…