What's happening here is that because you have a separate /var and a tmpfs on /var/tmp. the "virtual-filesystems" event will not be emitted until /var/tmp is mounted. But /var/tmp cannot be mounted until /var is mounted. And /var cannot be mounted until udev has created the block device for it. But udev is not started until the virtual-filesystems events, etc.
So basically you have a dependency loop.
Codewise, the solution would be to consider virtual filesystems under local filesystems as local filesystems from the point of view of the event. We've already started to grow this code for the root filesystem which is always considered local, so maybe I just need to expand on that.
For you, there's a workaround you can use for now:
boot with init=/bin/bash
mount -o rw,remount /
mkdir /var/tmp
(note that this makes a /var/tmp on the root filesystem under /var)
edit /etc/fstab, add "showthrough" to the options for /var/tmp
mount -o ro,remount /
reboot
This will cause /var/tmp to be mounted before /var is mounted, and carried over once /var is mounted as well
Thanks!
What's happening here is that because you have a separate /var and a tmpfs on /var/tmp. the "virtual- filesystems" event will not be emitted until /var/tmp is mounted. But /var/tmp cannot be mounted until /var is mounted. And /var cannot be mounted until udev has created the block device for it. But udev is not started until the virtual-filesystems events, etc.
So basically you have a dependency loop.
Codewise, the solution would be to consider virtual filesystems under local filesystems as local filesystems from the point of view of the event. We've already started to grow this code for the root filesystem which is always considered local, so maybe I just need to expand on that.
For you, there's a workaround you can use for now:
boot with init=/bin/bash
mount -o rw,remount /
mkdir /var/tmp
(note that this makes a /var/tmp on the root filesystem under /var)
edit /etc/fstab, add "showthrough" to the options for /var/tmp
mount -o ro,remount /
reboot
This will cause /var/tmp to be mounted before /var is mounted, and carried over once /var is mounted as well