On Tue, Apr 12, 2011 at 11:06:46AM +0200, Marco d'Itri wrote:
> On Apr 12, Krzysztof Krzyżaniak <e...@wikia-inc.com> wrote:
> 
> > - after boot there is /run folder, it's regular filesystem not tmpfs.
> Then rm -rf /run/udev/ and everything will work fine, this behaviour is
> expected.

This is resulting in massive breakage on systems with the new
initscripts implementing /run.  Please fix it, as asked!  Just
don't make *any* use of /run until the new initscripts is uploaded
and /run is correctly set up.  It's that simple.

Please see
http://wiki.debian.org/ReleaseGoals/RunDirectory
for a guide on how to implement migration to /run.  Without an
versioned initscripts dependency, you can't rely on /run being
set up /and/ functional.  Checking it's a tmpfs is not enough:
it might not be a tmpfs, and / might be a tmpfs as well, so we
might still mount something on top.  Without the versioned
initscripts dependency, all bets are off, and this breakage is
the consequence.


Example of breakage:
udev 167-2
initscripts 2.88dsf-13.3 
(http://people.debian.org/~rleigh/run/sysvinit_2.88dsf-13.3.dsc)

initscripts provides /run, and this is set up during boot:

tmpfs on /lib/init/rw type tmpfs (rw,nosuid,size=5242880,mode=755)
tmpfs on /run type tmpfs (rw,nosuid,size=10%,mode=755)
tmpfs on /run/lock type tmpfs (rw,noexec,nosuid,nodev,size=5242880,mode=1777)
tmpfs on /tmp type tmpfs (rw,nosuid,nodev,size=20%,mode=1777)
proc on /proc type proc (rw,noexec,nosuid,nodev)
sysfs on /sys type sysfs (rw,noexec,nosuid,nodev)
udev on /dev type tmpfs (rw,mode=0755)
devpts on /dev/pts type devpts (rw,noexec,nosuid,gid=5,mode=620)
tmpfs on /run/shm type tmpfs (rw,nosuid,nodev,relatime,size=1639608k)

So, we have a working /run:
% ls /run
...
console                 dictd.pid          postgresql    udev
ConsoleKit              gpm.pid            pppd2.tdb     utmp
...

udev fails to bring up networking, as originally reported in this bug.
udev is using /run:

% ls -l /run/udev
total 4
drwxr-xr-x   2 root root 4300 Apr 16 10:30 data
drwxr-xr-x 157 root root 3140 Apr 16 10:30 links
-rw-r--r--   1 root root  548 Apr 16 10:30 queue.bin
drwxr-xr-x   2 root root   60 Apr 16 09:02 rules.d
drwxr-xr-x   3 root root   60 Apr 16 09:02 tags
drwxr-xr-x   2 root root  740 Apr 16 09:02 watch

udev is also using /dev/.udev:

% ls -l /dev/.udev 
total 0
drwxr-xr-x  2 root root 2780 Apr 16 09:02 data
drwxr-xr-x 70 root root 1400 Apr 16 09:02 links
drwxr-xr-x  2 root root   40 Apr 16 09:02 rules.d
drwxr-xr-x  2 root root  260 Apr 16 09:02 watch

Not sure why udev is broken; it's using both locations from the
look of things.  Maybe something it needs has been written to
one and it's not present in the other or something?

Either way, please fix udev to work with the above sysvinit
package so that udev doesn't break everyone's systems when it
gets uploaded.


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.

Attachment: signature.asc
Description: Digital signature

Reply via email to