Re: [PATCH] init: fix name of root device in /proc/mounts

From: William Hubbs
Date: Wed Mar 20 2013 - 17:11:37 EST


On Wed, Mar 20, 2013 at 02:03:20AM -0500, Rob Landley wrote:
> On 03/19/2013 07:20:17 PM, William Hubbs wrote:
> > On Tue, Mar 19, 2013 at 04:17:11PM -0700, H. Peter Anvin wrote:
> > > On 03/19/2013 03:28 PM, William Hubbs wrote:
> > > > The issue is that /dev/root appears in /proc/mounts if you do not
> > > > boot with an initramfs, but /dev/root is not a device node. In the
> > > > past, udev created a symbolic link from /dev/root to the
> > > > appropriate block device, but it does not do this any longer.
> > Also,
> > > > devtmpfs does not create this symbolic link.
> > > >
> > > > This is causing bugs with software that depends on the existence
> > > > of /dev/root [2] for example.
> > >
> > > Seems okay to me, although even better would be to use the udev name
> > > of the device in question.
> >
> > I'm not following what you mean.
> >
> > The problem is that "/dev/root" should not be in /proc/mounts,
> > since there is always another entry that points to the root
> > file system.
>
> What gave you that idea?
>
> wget http://landley.net/aboriginal/bin/system-image-i686.tar.bz2
> extract it and ./run-emulator.sh and in there:
>
> (i686:1) /home # cat /proc/mounts
> rootfs / rootfs rw 0 0
> /dev/root / squashfs ro,relatime 0 0
> proc /proc proc rw,relatime 0 0
> sys /sys sysfs rw,relatime 0 0
> dev /dev devtmpfs rw,relatime,size=63072k,nr_inodes=15768,mode=755 0 0
> dev/pts /dev/pts devpts rw,relatime,mode=600 0 0
> /tmp /tmp tmpfs rw,relatime 0 0
> /home /home tmpfs rw,relatime 0 0
>
> Userspace can totally determine what /dev/root points to, I made mdev
> do it in 2006 (udev started doing so shortly thereafter). Busybox git
> commit a7e3d052.:4

There are situations where it doesn't work though -- suppose that root
is btrfs for example.

Also, the other message that answered you is correct, the udev
maintainers say we should not be relying on /dev/root at all so to make
it work distro packagers have to add a rule themselves.

Kay,

if you are reading, canyou jump in and explain why /dev/root is a bad
idea?

Thanks,

William

Attachment: pgp00000.pgp
Description: PGP signature