Refer to: /usr/src/linux/Documentation/devices.txt - the following links are listed as compulsory and should exist on any non-broken system :) Pretty self explanatory, really. This gets one step closer to getting rid of the current "untarring a load of static nodes" behaivour of the gentoo init scripts with regard to udev. ln -s /proc/self/fd /dev/fd ln -s fd/0 /dev/stdin ln -s fd/1 /dev/stdout ln -s fd/2 /dev/stderr These lines should be added to the bottom of populate_udev() in /sbin/rc. If they exist already, these lines will splurt out a message, so you could either stick "2&>1 >/dev/null" on the end of each one (not safe, since /dev/null isn't necessarily going to be there yet), or by rm'ing the links first (this really should be safe... these links should never be anything other than they are here).
If you did not fiddle to default setup, it will be there (meaning did not do a rm -rf /dev/* somewhere ...
If I mount the drive (say on the livecd), /dev is full of stuff, including these links... the stuff there is removed, thigns don't work, as I've experienced before. When it comes to the init scripts, if I remove the device population section in /sbin/rc I get an empty /dev (and so the init script fails later)... I'm pretty sure that these links are in the /dev AND that the only change made to the init script at this time is removing the "tar jxpf /lib/udev-state/devices.tar.bz2 /dev". Nevertheless I'll check it again using the /dev from the original tarball. :)
If your remove the tar part, /dev _is_ empty, as it is a ramfs mount ...
Ah, okay. I've been assuming that the tar-file thing is temporary behaivour. As far as I can see if these symlinks are created by the init script instead, the tar file shouldn't be necessary from 2.6.1 (except for crazy people wanting nvidia and alsa devices, of course).
I will drop the MAKEDEV part after kernel support is good, but we still need it (tarball thing) for saving extra nodes the user may add. Might add an option to tweak that behaviour though ...
Fixed in CVS.