mirror of
https://git.yoctoproject.org/poky
synced 2026-04-05 08:02:25 +02:00
During boot, there is a brief window during which /dev/initctl is missing, which breaks initscripts that would need to access it. This occurs because /etc/init.d/mountall.sh (rcS.d/S02...) attempts to ensure /dev/initctl is present, but /etc/init.d/mdev (rcS.d/S06...) mounts over /dev and clobbers the work done by mountall, and then does not wait synchronously until initctl is ready before continuing. To close this window, in /etc/init.d/mdev, we check whether /dev/initctl is present, and if not, we remove it and recreate it. This is the same thing that is done by /etc/init.d/mountall.sh, and we have verified that any writers of /dev/initctl will wait synchronously until sysvinit notices the change in fd and does the read, so no race exists. (From OE-Core rev: 53543363a8ab4424c17ed7aec0e8aefc4df86b3d) Signed-off-by: Richard Tollerton <rich.tollerton@ni.com> Signed-off-by: Ben Shelton <ben.shelton@ni.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>