Re: [systemd-devel] [PATCH] build: lookup for the "mount" binary

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



'Twas brillig, and Cristian Rodríguez at 31/10/13 15:17 did gyre and gimble:
> 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
>>>>>> <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
>>
>> ??
> 
> 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.

As a semi-hack, can you not just run the convertfs.sh script included in
dracut before doing the final compress?

Wouldn't this "fix" the problem too?

Col


-- 

Colin Guthrie
gmane(at)colin.guthr.ie
http://colin.guthr.ie/

Day Job:
  Tribalogic Limited http://www.tribalogic.net/
Open Source:
  Mageia Contributor http://www.mageia.org/
  PulseAudio Hacker http://www.pulseaudio.org/
  Trac Hacker http://trac.edgewall.org/

--
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




[Index of Archives]     [Linux Kernel]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux SCSI]

  Powered by Linux