When booting with RC_DEVICE_TARBALL="yes", during checkfs (I think) booting fails because /dev/hda4 (my root partition) cannot be found. Logging in as root and taking a look at /dev reveals that, in fact, no drive nodes have been populated: # ls -l /dev total 0 lrwxrwxrwx 1 root root 11 Apr 5 13:50 core -> /proc/kcore lrwxrwxrwx 1 root root 13 Apr 5 13:50 fd -> /proc/self/fd/ prw------- 1 root root 0 Apr 5 13:50 initctl| -rw-r--r-- 1 root root 0 Apr 5 13:50 null drwxr-xr-x 2 root root 0 Apr 5 13:50 pts/ drwxr-xr-x 2 root root 0 Apr 5 13:50 shm/ lrwxrwxrwx 1 root root 24 Apr 5 13:50 sndstat -> /proc/asound/oss/sndstat lrwxrwxrwx 1 root root 4 Apr 5 13:50 stderr -> fd/2 lrwxrwxrwx 1 root root 4 Apr 5 13:50 stdin -> fd/0 lrwxrwxrwx 1 root root 4 Apr 5 13:50 stdout -> fd/1 For reasons that I don't understand, running the populate_udev() function in /sbin/udev also fails to populate dev w/ drive nodes. (Also note above that null is not a character device, for whatever reason.) The workaround I'm using is: # mount -o remount,rw / # cd /dev # tar xvjpf /lib/udev-state/devices.tar.bz2 # sed -ie 's/TARBALL="no"/TARBALL="yes"/' /etc/conf.d/rc # reboot Reproducible: Always Steps to Reproduce: 1. sed -ie 's/TARBALL="yes"/TARBALL="no"/' /etc/conf.d/rc 2. reboot 3. # emerge -p udev sysfsutils hotplug baselayout These are the packages that I would merge, in order: Calculating dependencies ...done! [ebuild R ] sys-fs/udev-024-r1 [ebuild R ] sys-fs/sysfsutils-1.0.0 [ebuild R ] sys-apps/hotplug-20040401 [ebuild R ] sys-apps/baselayout-1.8.6.13-r1 # emerge info Portage 2.0.50-r3 (default-x86-2004.0, gcc-3.3.3, glibc-2.3.3_pre20040207-r0, 2.6.3-gentoo-r1) ================================================================= System uname: 2.6.3-gentoo-r1 i686 Intel(R) Pentium(R) M processor 1600MHz Gentoo Base System version 1.4.3.13p1 ccache version 2.3 [enabled] Autoconf: sys-devel/autoconf-2.59-r3 Automake: sys-devel/automake-1.8.3 ACCEPT_KEYWORDS="x86 ~x86" AUTOCLEAN="yes" CFLAGS="-O2 -mcpu=i686 -fomit-frame-pointer" CHOST="i686-pc-linux-gnu" COMPILER="gcc3" CONFIG_PROTECT="/etc /usr/X11R6/lib/X11/xkb /usr/kde/2/share/config /usr/kde/3.2/share/config /usr/kde/3/share/config /usr/lib/mozilla/defaults/pref /usr/share/config /usr/share/texmf/dvipdfm/config/ /usr/share/texmf/dvips/config/ /usr/share/texmf/tex/generic/config/ /usr/share/texmf/tex/platex/config/ /usr/share/texmf/xdvi/ /var/qmail/control" CONFIG_PROTECT_MASK="/etc/gconf /etc/terminfo /etc/env.d" CXXFLAGS="-O2 -mcpu=i686 -fomit-frame-pointer" DISTDIR="/usr/portage/distfiles" FEATURES="autoaddcvs ccache sandbox" GENTOO_MIRRORS="ftp://ftp.ussg.iu.edu/pub/linux/gentoo ftp://mirrors.tds.net/gentoo http://open-systems.ufl.edu/mirrors/gentoo http://gentoo.seren.com/gentoo" MAKEOPTS="-j2" PKGDIR="/usr/portage/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" PORTDIR_OVERLAY="/usr/local/portage" SYNC="rsync://rsync.us.gentoo.org/gentoo-portage" USE="X aalib alsa apm arts avi berkdb cdr crypt cups dvd encode esd flac foomaticdb gdbm gif gnome gpm gtk gtk2 imlib java jpeg kde libg++ libwww mad mikmod mmx motif mozilla mpeg ncurses nls nptl oggvorbis opengl oss pam pda pdflib perl png python qt quicktime readline sdl slang spell sse ssl svga tcltk tcpd tetex truetype x86 xml2 xmms xv zlib" (As an aside, one drawback to having a system compiled w/ nptl is that chrooting from a 2.4 livecd fails rather dramatically.)
Since nobody else seems to be hitting this problem I'm assuming that this bug is going to be really hard for others to reproduce. Fortunately, I can reproduce the problem in just a few minutes, so if anybody has ideas for me to try please feel free to post them here.
Okay, it seems that there was cvs conflict cruft in my /etc/udev/udev.rules file. Since I don't keep my config files under CVS I've no idea where it came from, but once I removed it everything worked again.