Am 11.08.2014 23:10, schrieb Sven Joachim:
> On 2014-08-11 22:48 +0200, Michael Biebl wrote:
> 
>> Am 11.08.2014 21:36, schrieb Sven Joachim:
>>> On 2014-08-11 20:56 +0200, Michael Biebl wrote:
>>>> This bug is not reproducible here. Neither under systemd nor sysvinit.
>>>
>>> It only happens under sysvinit without using an initramfs.  I suspect
>>> the make_static_nodes() function is responsible for that, since it runs
>>> before udevd is started and so most device files, including /dev/stdout,
>>> do not exist yet.
>>
>> Could you elaborate? Why does /dev/stdout not exist when
>> make_static_nodes() is run?
> 
> I don't know why or who exactly is responsible for creating the
> /dev/std{in,err,out} symlinks, but if I boot with init=/bin/bash and
> without an initramfs, those symlinks do not exist.
> 

So, we just debugged this issue, and it is indeed udevd which set's up
the /dev/stdout symlink.
Typically, this is already created by the initramfs, which runs udevd.

In the udev sysv init script, we do run make_static_nodes() before udevd
(so any device permissions are applied).

It is "kmod static-nodes" which creates /dev/stdout as file, and dumps
the output of the static-nodes command there, if that symlink doesn't exist.

Sjoerd suggested to explicitly set the output for kmod, i.e. use
"kmod static-nodes --output /proc/self/fd/1 | ..."



-- 
Why is it that all of the instruments seeking intelligent life in the
universe are pointed away from Earth?

Attachment: signature.asc
Description: OpenPGP digital signature

Reply via email to