El jue 31 oct 2013 07:43:54 CLST, Harald Hoyer escribió:
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
<crrodrig...@opensuse.org> 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

??

Yes /bin/mount -> /usr/bin/mount .


What we might can do, is search _all_ components of PATH for the binaries and
install everyone of them.

That will be cool. because there is the same problem with the following binaries

setfont, loadkeys, blkid and mount.



--
"Judging by their response, the meanest thing you can do to people on the Internet is to give them really good software for free". - Anil Dash
_______________________________________________
systemd-devel mailing list
systemd-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/systemd-devel

Reply via email to