[arch-projects] [initscripts] Linux distributions and /run/

Tom Gundersen teg at jklm.no
Thu Mar 31 10:44:25 EDT 2011

On Thu, Mar 31, 2011 at 3:54 PM, Thomas Bächler <thomas at archlinux.org> wrote:
> This database is (re)created when we (re)start udevd in rc.syinit. Udev
> doesn't know that it was running before, so there is no need to reuse
> any database.

>From udev's NEWS file:

The udev runtime data moved from /dev/.udev/ to /run/udev/. The
/run mountpoint is supposed to be a tmpfs mounted during early boot,
available and writable to for all tools at any time during bootup,
it replaces /var/run/, which should become a symlink some day.

If /run does not exist, or is not writable, udev will fall back using

On systemd systems with initramfs and LVM used, packagers must
make sure, that the systemd and initramfs versions match. The initramfs
needs to create the /run/ mountpoint for udev to store the data, and
mount this tmpfs to /run in the rootfs, so the that the udev database
is preserved for the udev version started in the rootfs.

The last paragraph is admittedly referring to systemd, but I think
this is not important (I think the same case would apply to any init
system mounting /run). Here I get the impression that there is
something valuable in the udev database that could and should be
preserved from initramfs to normal init (I don't fully understand what
is happening here, so maybe it does not apply to Arch).

> I was thinking with regard to mdadm now: Maybe mdadm stores some
> valuable data there.

They certainly store something in /run, but I don't know what happens
if we throw it away at the end of initramfs.

>From all the discussions on this topic I really got the impression
that /run is supposed to be created in the initramfs and then
preserved until shutdown. Maybe it is worth having a look at what
dracut is doing?

More information about the arch-projects mailing list