linux-hotplug.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Matthias Schwarzott <zzam@gentoo.org>
To: linux-hotplug@vger.kernel.org
Subject: Re: [PATCH] creating link /dev/root to device / is mounted from
Date: Sat, 21 Apr 2007 09:35:22 +0000	[thread overview]
Message-ID: <200704211135.22714.zzam@gentoo.org> (raw)
In-Reply-To: <200704201246.21524.zzam@gentoo.org>

On Freitag, 20. April 2007, Kay Sievers wrote:
> On 4/20/07, Matthias Schwarzott <zzam@gentoo.org> wrote:
> > Some software (like hal) needs the /dev/root link (as /proc/mounts can
> > contain it).
>
> Right, but HAL doesn't need it, it just assumes that device-file
> entries in /proc/mounts are also available in /dev.
>
> The "/dev/root missing but in /proc/mounts" only happens for people
> who run their own compiled kernels without an initramfs.
>
> > The attached patch contains one program which compares the major/minor
> > number supplied to it on the command-line with the numbers of the device
> > / is located on.
> > It is used with this rule (see 60-root_link.rules):
> > SUBSYSTEM="block", PROGRAM="blockdev_is_root $major $minor",
> > SYMLINK+="root"
>
> Why do we want to run a program for _every_ block device, just to
> create /dev/root? It's an operation you only need to do once at
> bootup, and the root-device is obviously already there, before you
> start udev out of the rootfs. :)
>
I think this is not too bad, as the program itself is only around 3k size.

> The udev init-script checks if /dev is already mounted with tmpfs from
> initramfs, if not, it will need to do it, and at that point, we can
> just mknod /dev/root, can't we?

Well, our initramfs does not move its /dev to new mounted root filesystem, but 
we get a completely fresh tmpfs.

We also can just have a program to write out major/minor of "/" and then mknod 
it (outside of udev)
But I really like a link better.
Here I also can search udev-database (or whatever)

For example when /usr is already mounted (for udevinfo):
dev_nr=$(root_get_dev_nr)
dev_path=$(udevtrigger --verbose --attr-matchfiv=${dev_nr})
dev_name=$(udevinfo -q name --path ${dev_path})
ln -s /dev/${dev_name} /dev/root


Or inject some rule into udev like
ATTR{dev}="${dev_nr}", SYMLINK+="root"
But how to inject? /etc is read-only at udevd starting. Or can rule-files 
include other rule files? Like in /dev/.udev/

Matthias

-- 
Matthias Schwarzott (zzam)

-------------------------------------------------------------------------
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take
control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/
_______________________________________________
Linux-hotplug-devel mailing list  http://linux-hotplug.sourceforge.net
Linux-hotplug-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/linux-hotplug-devel

  parent reply	other threads:[~2007-04-21  9:35 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-04-20 10:46 [PATCH] creating link /dev/root to device / is mounted from Matthias Schwarzott
2007-04-20 14:55 ` Kay Sievers
2007-04-21  9:35 ` Matthias Schwarzott [this message]
2007-04-21 10:29 ` Andrey Borzenkov
2007-04-21 10:41 ` Kay Sievers
2007-04-21 13:31 ` Matthias Schwarzott
2007-04-21 17:47 ` Doug Goldstein
2007-04-22 12:01 ` Kay Sievers
2007-04-23 17:58 ` David Zeuthen
2007-04-24  9:37 ` Kay Sievers
2007-05-03  5:56 ` David Zeuthen

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=200704211135.22714.zzam@gentoo.org \
    --to=zzam@gentoo.org \
    --cc=linux-hotplug@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).