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?
signature.asc
Description: OpenPGP digital signature

