On Mon, 21 Nov 2016 at 09:50:39 +0100, Martin Pitt wrote: > Michael Biebl [2016-11-21 1:15 +0100]: > > Am 21.11.2016 um 00:50 schrieb Simon McVittie: > > > Because udev's initramfs hook now does "mount --move", it doesn't work > > > with > > > klibc mount, which is used when busybox isn't installed: > > > > > > This was changed as a response to > > https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=844775 > > > > Luca, you wrote that initramfs-tools is now using mount from util-linux, > > but I can't find anything in the initramfs-tools changelog
For what it's worth, initramfs-tools in Debian hasn't changed since April, and appears to use "mount -o move" unconditionally in its own files (for example in /init, to move /run to /root/run). So it might be best to just revert that change and stick to "mount -o move", which is known to work in both busybox and klibc mount. I can't help wondering why we support three different mount implementations here, rather than mandating a preferred implementation. For what it's worth, dracut appears to install the "full-fat" util-linux mount binary from the host system rather than trying to use statically linked or otherwise minimal binaries. > -# move the /dev tmpfs to the rootfs > -mount -n --move /dev ${rootmnt}/dev > +# move the /dev tmpfs to the rootfs; fall back to klibc mount that does not > +# understand --move > +mount -n --move /dev ${rootmnt}/dev || mount -n -o move /dev ${rootmnt}/dev This looks fine as a short-term answer. Longer-term, it would be great if we had a specification for how a suitable mount implementation for the initramfs must behave, or a consensus on which mount implementations had to be supported, or even a requirement that potential mount implementors (klibc or busybox or util-linux) define a mount_move() shell function or something. (An alternative long-term direction would be defaulting to dracut, which has the advantage of not being Debian-specific.) S