On 10/30/2013 09:25 PM, Cristian Rodríguez wrote: > El 30/10/13 15:34, Harald Hoyer escribió: >> On 10/30/2013 07:27 PM, Cristian Rodríguez wrote: >>> El mié 30 oct 2013 15:18:48 CLST, Tom Gundersen escribió: >>>> On Wed, Oct 30, 2013 at 7:12 PM, Cristian Rodríguez >>>> <crrodriguez@xxxxxxxxxxxx> wrote: >>>>> Real executable might be in /usr and not in /bin >>>> >>>> I'm not against the patch, but the justification seems lacking... Does >>>> anyone actually do this? I.e., have a mount that is not symlinked to >>>> by /bin/mount? >>> >>> I am not aware of anyone not having a symlink to /bin/mount.. however, >>> when creating an initrd with dracut the symlink is not included (only >>> the real binary is at /usr/bin/mount) and mounting stuff breaks. >>> >>> It is either this patch or I should send a patch to dracut instead :-) >>> >>> In any case, from my perspective this is the right thing to do anyway. >>> >> >> Can you provide me the output of "dracut --debug -f test.img", so I can see what >> goes wrong? >> >> Normally dracut also installs the symlink. >> > > Here is the debug log attached, this is dracut git HEAD. > > The resulting initrd drops you into the emergency shell because systemd is > unable to find /bin/mount to mount /sysroot. > > Workaround to continue boot is to create the symlink and exit or a adding > band-aid hack to > http://git.kernel.org/cgit/boot/dracut/dracut.git/tree/modules.d/99fs-lib/module-setup.sh > just before inst_multiple -o $_helpers fsck to force installation of mount as > /bin/mount , clearly not the right thing to do ;-) > dracut-install: Handle 'mount' dracut-install: PATH=/usr/sbin:/sbin:/usr/bin:/bin dracut-install: stat(/usr/sbin/mount) != 0 dracut-install: stat(/sbin/mount) != 0 dracut-install: find_binary(mount) == /usr/bin/mount dracut-install: dracut_install '/usr/bin/mount' dracut-install: dracut_install('/usr/bin/mount', '/usr/bin/mount') dracut-install: dracut_install ret = 0 dracut-install: cp '/usr/bin/mount' '/var/tmp/initramfs.pRJ2ZL/usr/bin/mount' dracut-install: dracut_install ret = 0 dracut-install: dracut_install '/usr/bin/mount' OK So, the PATH dracut uses is PATH=/usr/sbin:/sbin:/usr/bin:/bin. dracut-install finds a real mount at /usr/bin/mount. So, you are saying, that you have a symbolic link pointing: /bin/mount -> /usr/bin/mount ?? Otherwise dracut would have installed the symbolic link and the file it points to. What we might can do, is search _all_ components of PATH for the binaries and install everyone of them. -- To unsubscribe from this list: send the line "unsubscribe initramfs" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html