opensuse 13.1 boots into initrd shell only - how to repair?


I have a server that did not boot after updating to opensuse 13.1

After some research I found this bug about my problem:

In short: I added new repos for lvm and systemd to fix the problems, as described in the bugzilla, which mostly worked.

But I got another problem with them: no more clean shutdowns.
So after providing some stacktraces I removed the repos again and did a zypper dup to get back the original system status.

That was a mistake.
Now I can only boot into a very basic shell.
Advice was to rebuild the initrd.

I figured, another (minimal) install of opensuse 13.1 with / as a new lvm volume (/dev/sysvg/rescue) and the same /boot partition (/dev/sda1) which has enough space (500 MB, >50% free) should do just that.

But it did not work.

Grub menu changed and now shows both 13.1 systems, the new /dev/sysvg/rescue and the old /dev/sysvg/root121. But both boot with a lot of errors like these (just like it was after the zypper dup to get rid of the test repos)

/dev/mapper/control: open failed: No such device
Failure to communicate with kernel device-mapper driver.
Check that device-mapper is available in the kernel.
PARTIAL MODE. Incomplete logical volumes will be processed.
Command failed with status code 5.

Repeated over and over. Then finally

Could not find /dev/sysvg/root121.
Want me to fall back to /dev/sysvg/root121? (Y/n)

I cannot answer this. Just switch to console 1 and start a /usr/sbin/sulogin shell.

There, I can see that /dev/mapper/control actually exists!?

Now I am out of (nice) options. Please help.

I just reinstalled the small system on /dev/sysvg/rescue, this time with online repos to get the latest kernel and mkinitrd tools. But same result: just the shell :frowning:

It does not say /dev/mapper/control is missing - it says (device) driver to which it refers is not loaded. Check whether dm_mod is loaded (either with lsmod or in /proc/modules directly).

There is no lsmod in this rudimentary boot environment.
/proc/modules is an empty file.
modprobe -v dm_mod is a nop (no output, error code 1, /proc/modules still empty)

Got some more advice in the bugzilla, but I’m still stuck:

Found out how to start network and ssh to make a backup of /boot

Then I finally got the new mini system running by allowing /boot to be formatted.

Only item left: restore necessary files to /boot to allow the original systems to boot again, too. Hope that succeeds…