Re: how to create /dev/root

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



> On Sat, Jul 12, 2008 at 04:52, Marco d'Itri <md@xxxxxxxx> wrote:
> > I added this to the Debian udev init script, run between mounting /dev
> > and starting udevtrigger.
> >
> > mountpoint at least on Debian systems is part of sysvinit and happens to
> > be in /bin, but if /usr is available then you can as well use stat(1).
> >
> > create_devroot_rule() {
> >  local udevroot="$1"
> >  local rootnumbers=$(mountpoint -q -d / || true)
> >  local rootmajor=${rootnumbers%:*}
> >  local rootminor=${rootnumbers#*:}
> >  [ "$rootmajor" -a "$rootminor" ] || return 0
> >
> >  echo 'ACTION=="add", SUBSYSTEM=="block", ENV{MAJOR}=="'$rootmajor'", ENV{MINOR}=="'$rootminor'",
SYMLINK+="root"' > /dev/.udev/rules.d/rules.d/61-dev-root-link.rules
> > }

Based in original Marco´s code, we are using this one:

          # Create rootdev rules
          DEVICENUMBER=$( /bin/stat -c %d / )
          MAJORNUMBER=$(($DEVICENUMBER / 256))
          MINORNUMBER=$(($DEVICENUMBER % 256))

          echo 'ACTION=="add", SUBSYSTEM=="block", ENV{MAJOR}=="'$MAJORNUMBER'", ENV{MINOR}=="'$MINORNUMBER'",
SYMLINK+="root"' > /dev/.udev/rules.d/61-dev-root-link.rules

But our uses stat instead mountpoint (mountpoint is in /usr/bin and stat is in /bin)

 > Looks fine, didn't know about "mountpoint, and not sure if all distros
> have it. We use:
>   udevadm info --device-id-of-file=/
> since a while. I've added --export to it now, so:
>   eval $(/sbin/udevadm info --export --export-prefix=ROOT_
> --device-id-of-file=/)
> should make $ROOT_MAJOR, $ROOT_MINOR available without any further
> shell mangling.

Hmmm... seems to be a good idea to use udev internal tools to do that.

Piter Punk

--
To unsubscribe from this list: send the line "unsubscribe linux-hotplug" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux Kernel]     [Linux DVB]     [Asterisk Internet PBX]     [DCCP]     [Netdev]     [X.org]     [Util Linux NG]     [Fedora Women]     [ALSA Devel]     [Linux USB]

  Powered by Linux