Linux Archive

Linux Archive (http://www.linux-archive.org/)
-   Ubuntu Development (http://www.linux-archive.org/ubuntu-development/)
-   -   /dev/static/.dev has been removed (http://www.linux-archive.org/ubuntu-development/227542-dev-static-dev-has-been-removed.html)

Scott James Remnant 01-14-2009 11:55 AM

/dev/static/.dev has been removed
 
During Ubuntu's development we've transitioned from a static /dev
installed as part of the base system to a dynamic /dev populated on boot
according to the hardware you have installed.

With the dynamic /dev, it's not necessary for packages to create devices
in their maintainer scripts. However some still wished to do so in case
you uninstalled udev (an action not supported in Ubuntu, but supported
in Debian).

These packages could access the original static /dev through
the /dev/.static/dev path. As many noted, this broke when the kernel
gained the ability to have separate access for bind mounts, and this was
actually read-only.

In agreement with Debian, this path has now been removed. It is no
longer possible to access the old static /dev tree while udev is
running.

Fixes should be available for any package from Debian, in general the
rules are:

- Packages should not depend on makedev
- Packages should not call MAKEDEV or mknod in maintainer scripts

- Packages may install udev rules to change the ownership, group or
mode of devices
- Packages may use chown, chgrp and chmod in maintainer scripts to
apply these new permissions if the device already exists
(this is preferred to attempting to "trigger" the device)

- Packages should not install udev rules that change the name of a
device. If the name is wrong, the rule should be submitted to udev
upstream for inclusion by default.

Scott
--
Scott James Remnant
scott@ubuntu.com
--
ubuntu-devel mailing list
ubuntu-devel@lists.ubuntu.com
Modify settings or unsubscribe at: https://lists.ubuntu.com/mailman/listinfo/ubuntu-devel

Steve Langasek 01-14-2009 08:53 PM

/dev/static/.dev has been removed
 
Hi Scott,

On Wed, Jan 14, 2009 at 12:55:46PM +0000, Scott James Remnant wrote:

> These packages could access the original static /dev through
> the /dev/.static/dev path. As many noted, this broke when the kernel
> gained the ability to have separate access for bind mounts, and this was
> actually read-only.

I've failed to parse this. How did gaining the /ability/ for "separate
access to bind mounts" break anything? I haven't noticed breakage with any
of my bind mounts anywhere - is this specific to linux 2.6.28 and above (all
my bind mounts are running on systems running older kernels)?

I'm less concerned about losing access to the static dev (although that's
come in handy before when debugging install-time problems that led to wrong
permissions on /dev/null...) than about knowing what the implications are
here for my systems down the line.

Cheers,
--
Steve Langasek Give me a lever long enough and a Free OS
Debian Developer to set it on, and I can move the world.
Ubuntu Developer http://www.debian.org/
slangasek@ubuntu.com vorlon@debian.org

--
ubuntu-devel mailing list
ubuntu-devel@lists.ubuntu.com
Modify settings or unsubscribe at: https://lists.ubuntu.com/mailman/listinfo/ubuntu-devel

Scott James Remnant 01-15-2009 01:57 PM

/dev/static/.dev has been removed
 
On Wed, 2009-01-14 at 13:53 -0800, Steve Langasek wrote:

> On Wed, Jan 14, 2009 at 12:55:46PM +0000, Scott James Remnant wrote:
>
> > These packages could access the original static /dev through
> > the /dev/.static/dev path. As many noted, this broke when the kernel
> > gained the ability to have separate access for bind mounts, and this was
> > actually read-only.
>
> I've failed to parse this. How did gaining the /ability/ for "separate
> access to bind mounts" break anything? I haven't noticed breakage with any
> of my bind mounts anywhere - is this specific to linux 2.6.28 and above (all
> my bind mounts are running on systems running older kernels)?
>
The /dev/static/.dev bind mount is from the root filesystem, and is made
while the root filesystem is read-only.

Previously, when the root filesystem was made writable, the writability
would follow to the bind mount.

Now because the bind mount has separate access rights to what is bound,
when the root filesystem is made writable, the bind mount of it
_remains_read_only_.

You must have seen errors in intrepid of the form:

udev active, devices will be created in /dev/.static/dev/
rm: cannot remove `parport0-': Read-only file system
mknod: `parport0-': Read-only file system


There are alternate ways to fix this, obviously; the chosen one was
simply to drop support for /dev/.static/dev. This means that /dev on
the root filesystem will only be a set of "standard devices".

Scott
--
Scott James Remnant
scott@canonical.com
--
ubuntu-devel mailing list
ubuntu-devel@lists.ubuntu.com
Modify settings or unsubscribe at: https://lists.ubuntu.com/mailman/listinfo/ubuntu-devel


All times are GMT. The time now is 07:13 AM.

VBulletin, Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.
Content Relevant URLs by vBSEO ©2007, Crawlability, Inc.