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

From: Rob Landley
Date: Wed Mar 20 2013 - 11:00:54 EST


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.

Heck, the userspace "stat /" command says "Device: 801h" and /dev/sda1 is 08:01 on my netbook.

Rob--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/