systemd/udev dependency failure when auto mounting separate partition during startup
I had a similar issue here using systemd-208 with kernel 3.13.1 and 3.14.4 under Exherbo (similar to Gentoo): my separate partitions (/var, /home, /boot and even /swap) were mounted under the desired root location. Everything worked fine. Then, upgrading to systemd 213 the boot process stopped at the point, where the partitions should have been mounted with the message: 'A start job is running for dev-sdxx.device' until timeout of 1 min 30 sec. Afterwards I was in Emergency Mode.
Excerpt of
$ journalctl -xb
Jun 09 13:50:29 exathlon systemd[1]: Job dev-disk-by\x2dlabel-BAK_A4.device/start timed out.
Jun 09 13:50:29 exathlon systemd[1]: Timed out waiting for device dev-disk-by\x2dlabel-BAK_A4.device.
Jun 09 13:50:29 exathlon systemd[1]: Dependency failed for /mnt/BAK_A4.
Jun 09 13:50:29 exathlon systemd[1]: Dependency failed for Local File Systems.
Jun 09 13:50:29 exathlon systemd[1]: Triggering OnFailure= dependencies of local-fs.target.
Jun 09 13:50:29 exathlon systemd[1]: Dependency failed for /export/LinuxMint13_KDE_64.
Jun 09 13:50:29 exathlon systemd[1]: Dependency failed for /export/SystemRescueCD-x86.
Jun 09 13:50:29 exathlon systemd[1]: Dependency failed for File System Check on /dev/disk/by-label/BAK_A4.
Jun 09 13:50:29 exathlon systemd[1]: Job dev-sdb11.device/start timed out.
Jun 09 13:50:29 exathlon systemd[1]: Timed out waiting for device dev-sdb11.device.
Jun 09 13:50:29 exathlon systemd[1]: Dependency failed for /var.
Jun 09 13:50:29 exathlon systemd[1]: Dependency failed for Update UTMP about System Boot/Shutdown.
Jun 09 13:50:29 exathlon systemd[1]: Dependency failed for Load/Save Random Seed.
Jun 09 13:50:29 exathlon systemd[1]: Dependency failed for File System Check on /dev/sdb11.
Jun 09 13:50:29 exathlon systemd[1]: Job dev-sdb8.device/start timed out.
Jun 09 13:50:29 exathlon systemd-journal[1044]: Forwarding to syslog missed 15 messages.
Jun 09 13:50:29 exathlon systemd[1]: Timed out waiting for device dev-sdb8.device.
Jun 09 13:50:29 exathlon systemd[1]: Dependency failed for /home.
Jun 09 13:50:29 exathlon systemd[1]: Dependency failed for File System Check on /dev/sdb8.
Jun 09 13:50:29 exathlon systemd[1]: Job dev-sda6.device/start timed out.
Jun 09 13:50:29 exathlon systemd[1]: Timed out waiting for device dev-sda6.device.
Jun 09 13:50:29 exathlon systemd[1]: Dependency failed for /boot.
Jun 09 13:50:29 exathlon systemd[1]: Dependency failed for File System Check on /dev/sda6.
Jun 09 13:50:29 exathlon systemd[1]: Job dev-sdb5.device/start timed out.
Jun 09 13:50:29 exathlon systemd[1]: Timed out waiting for device dev-sdb5.device.
Jun 09 13:50:29 exathlon systemd[1]: Dependency failed for /dev/sdb5.
shows the failed attempts of mounting by systemd.
After looking up the internet I was able to find a remedy in configuring the kernel with
CONFIG_FHANDLE=y (before: n)
see 'systemd System and Service Manager' under
REQUIREMENTS:
CONFIG_FHANDLE (libudev, mount and bind mount handling)
source: http://cgit.freedesktop.org/systemd/systemd/tree/README
Afterwards the problem was solved, all partitions mounted again.
I cannot tell, why this was not happening / or was not required with systemd 208.
Starting udev before mountpoints in /etc/fstab
Either that, or mark these mount points as noauto (so mount -a won't try to mount them) and then mount them later (a later init script or from eudev)
systemd-udev rule applied multiple times (twice in my case)
Please be very careful when writing rules and especially when you are taking someone else rules. Always run
udevadm info -a /sys/...device
and read very carefully the information.
In my case the solution is
DRIVER=="adt7310" instead of DRIVERS=="adt7310"
My apologies
Related Topics
Wireshark and Tcpdump -R: Strange Tcp Window Sizes
Would It Be Possible to Read Out Physical Keyboard Strokes in Node.Js
Bash Redirect to /Dev/Stdout: Not a Directory
Why Do I Get The Information of "Suspended (Tty Input)" When I Run My Script in The Background
What Is an Interface Identifier
What Is The Most Efficient Way to Exchange High Volume Data Between 2 Process
Sending Command to Process Using /Proc
How to Give Password in Shell Script
Bash Script Command to Wait Until Docker-Compose Process Has Finished Before Moving On
Remove a List of Words from Filename
Bash Tries to Execute Commands in Heredoc
Shipping Gnu/Linux Firefox Plugin with Shared Libraries (For Installation with No Root Access)
Run Any Linux Terminal Command from Typescript
How to Find Which Type of System Call Is Used by a Program
Environment Variables in Docker When Exec Docker Run
Dos2Unix: Binary Symbol Found, Skipping Binary File
One-Shot *Level*-Triggered Epoll(): Does Epolloneshot Imply Epollet