I've got a system that get's stuck when systemd tries to mount a filesystem. It fails on a dependency times out. The dependency is dev-disk-by\x2dlabel-cb\x2drootfs.device
where the device being mounted is /dev/disk/by-label/cb-rootfs
.
systemd[1]: dev-disk-by\x2dlabel-cb\x2drootfs.device: Job dev-disk-by\x2dlabel-cb\x2drootfs.device/start timed out.
Nothing stops me mounting the system with:
mount -av
So in this case it seems that systemd is waiting for the wrong thing, since the device is obviously there and ready to be mounted.
What might make this complex is that the root filesystem is an overlayfs involving the same device. In simple terms, initramfs is doing this:
mount /dev/disk/by-label/cb-rootfs /host
mount -o loop /host/rootfs/foo.squashfs /ro
mount -t overlay overlay lowerdir=/ro,upperdir=/host/writable,workdir=/host/workdir /root
/root
is then the root file system ready for systemd to start mounting from /etc/fstab
:
Then /etc/fstab
tries to mount
/dev/disk/by-label/cb-rootfs /host ext4 defaults 0 0
As I say I can mount -av
and Linux has absolutely no problem mounting `/dev/disk/by-label/cb-rootfs. But systemd is aparently waiting endlessly for it to become ready in some way.
What is systemd waiting for? how can I avoid it waiting like this?