1 |
Here's a revised possibility -- it diverges a little from the original |
2 |
message but I think its more inclusive as to the issue. |
3 |
|
4 |
Thoughts? |
5 |
|
6 |
----- |
7 |
|
8 |
Title: Important fstab and localmount update |
9 |
Author: William Hubbs <williamh@g.o> |
10 |
Content-Type: text/plain |
11 |
Posted: 2016-10-28 |
12 |
Revision: 1 |
13 |
News-Item-Format: 1.0 |
14 |
[rules-that-limits-this-to-openrc-and-udev??] |
15 |
|
16 |
Recent updates to init scripts in OpenRC and (e)udev have removed the |
17 |
requirement for udev to "settle" before it's startup completes. The |
18 |
result of this is that services which used to wait for udev to finish |
19 |
processing all kernel events will now start earlier. One such service |
20 |
is localmount. |
21 |
|
22 |
If "/dev/disk/by-*" source paths for are used for mount points in |
23 |
fstab, then it is possible that udev may not have created those |
24 |
symlinks before localmount starts and tries to mount them. |
25 |
|
26 |
One possible way to address this is to ensure that udev-settle is |
27 |
started before localmount starts, to enforce the old behaviour. This |
28 |
can be done simply by adding it to sysinit the runlevel, or adding an |
29 |
'rc_want=udev-settle' in /etc/conf.d/localmount. |
30 |
|
31 |
The more generic solution is to move away from using "/dev/disk/by-*" |
32 |
source paths and instead convert to using the LABEL= , UUID= , or |
33 |
PARTUUID= syntax in fstab instead. This syntax is supported directly |
34 |
by mount and works regardless of device manager, therefore removing |
35 |
the the dependency of having udev-settle before mounting these paths. |
36 |
More information can be found in the fstab manpage. |