I’ve been upgrading systems from openSUSE 11.4 to openSUSE 12.1. This message describes a problem I encountered which I think is intrinsic to openSUSE 12.1 itself, rather than being an artifact of the upgrade process; but, I could be wrong. I do not yet have a fix for this problem.
I have a system with two hard drives. For convenience, I’ll refer to these drives as /dev/sda and /dev/sdb, although in fact they appeared as /dev/sde and /dev/sdf this morning, which I described in a separate thread.
/dev/sda1 is “/”. /dev/sda2 and /dev/sdb2 are a software RAID1 silesystem, /dev/md0, which contains “/home”.
This morning this system failed to boot. After dealing with a device enumeration problem (which I described in another thread), the boot process failed with what looked like a nouveau error. dmesg revealed that this was just the last in a series of failure messages that started when “/home” failed to mount.
“/home” failed to mount because the system attempted to mount it before md had finished binding partitions into “/dev/md0”. Here’s what I saw:
- md starts to build /dev/md0
- an attempt is made to mount /home on /dev/md0, which failes because of a superblock problem
- md then reports that is has build /dev/md0.
I believe that the underlying problem is an error in the dependency descriptions used by the new systemd system initialization procedure introduced in openSUSE 12.1. local filesystem mounts should wait until after md initialization has completed. I haven’t used systemd before, and I’m still reading up on it, and I don’t have a workaround at this time.