--- helpers/dev-root-link.sh +++ helpers/dev-root-link.sh @@ -0,0 +1,18 @@ +#!/bin/sh -e +# +# dev-root-link.sh: create compability /dev/root symlink +# +# Distributed under the terms of the GNU General Public License v2 + +RULESDIR=/run/udev/rules.d + +[ -d $RULESDIR ] || mkdir -p $RULESDIR + +eval $(udevadm info --export --export-prefix=ROOT_ --device-id-of-file=/ || true) + +[ "$ROOT_MAJOR" -a "$ROOT_MINOR" ] || exit 0 + +# btrfs filesystems have bogus major/minor numbers +[ "$ROOT_MAJOR" != 0 ] || exit 0 + +echo 'ACTION=="add|change", SUBSYSTEM=="block", ENV{MAJOR}=="'$ROOT_MAJOR'", ENV{MINOR}=="'$ROOT_MINOR'", SYMLINK+="root"' > $RULESDIR/61-dev-root-link.rules --- init.d/udev +++ init.d/udev @@ -95,6 +95,10 @@ populate_dev() { + ebegin "Generate a rule to create /dev/root compability symlink" + /lib/udev/dev-root-link.sh + eend $? + get_bootparam "nocoldplug" && rc_coldplug="no" if ! yesno ${rc_coldplug:-${RC_COLDPLUG:-yes}}; then einfo "Setting /dev permissions and symbolic links" --- Makefile +++ Makefile @@ -9,6 +9,7 @@ INITD ?= $(SYSCONFDIR)/init.d HELPERS = \ + helpers/dev-root-link.sh \ helpers/net.sh all: