On Sun, Apr 17, 2011 at 08:50:23PM +0200, Marco d'Itri wrote: > On Apr 16, rleigh <rle...@codelibre.net> wrote: > > > > > > Maybe your initramfs was not rebuilt to include the code which > > > > > mounts /run? > > > > Why would that be required? /run is mounted by mountkernfs, > > > > before udevd is started. > > > Because if /run in the initramfs does not exist or is not a tmpfs then > > > /dev/.udev/ will be used instead. > > Well, the logic must be faulty, because it *is* using /run, and it > > *is* broken. > The logic is correct and works as intended, networking does not work > anymore on your system because /etc/network/run/ is a symlink to > /dev/shm/network/ which does not exist anymore after installing the new > initscripts package (because S12ifupdown is run before the /dev/shm/ > link is created or something like this).
/etc/network/run is a directory, not a symlink, on my system. While it's possible that something might fail if /dev/shm does not exist, which will be the case until mountall has run, this is still well before ifupdown runs and creates the run directory. (In the case of /dev/shm, we can make this happen at the point /run/shm is mounted unlike for the other filesystems; it looks like for dependency-based boot, this might be required. But on my system, this is /not/ the cause of the networking failure.) As a result, I am still unconvinced that the udev logic is correct. > You can test this theory by adding the appropriate mkdir command to > /etc/init.d/networking or just looking at the error messages displayed > by the init script. I'll double check if any errors occur. But as I mentioned above, this isn't because /etc/network/run does not exist. > I will open a separate bug for /run not being present in the initramfs, > which leads to to /dev/.udev/ being used and breakage in LVM. Thanks. While making /run available in the initramfs is a good thing (#621803), udev should not break if it is unavailable. udev should work correctly irrespectively of what the initramfs does. If the initramfs makes /run available, udev should use it of course, but it should correctly fall back to e.g. /dev/.udev otherwise. It should cope with all these cases: 1) No /run in initramfs, no /run on system 2) No /run in initramfs, /run on system 3) /run in initramfs and /run on system A versioned initscripts dependency will ensure (1) will never happen, but (2) and (3) are both possibilities depending upon if the user rebuild their initramfs and/or upgraded initramfs-tools, so both need to be handled. Regards, Roger -- .''`. Roger Leigh : :' : Debian GNU/Linux http://people.debian.org/~rleigh/ `. `' Printing on GNU/Linux? http://gutenprint.sourceforge.net/ `- GPG Public Key: 0x25BFB848 Please GPG sign your mail.
signature.asc
Description: Digital signature