--- 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 @@ -103,6 +103,10 @@ return 0 fi + ebegin "Generate a rule for creating /dev/root compability symlink" + /lib/udev/dev-root-link.sh + eend $? + ebegin "Populating /dev with existing devices through uevents" udevadm trigger --type=subsystems --action=add udevadm trigger --type=devices --action=add --- Makefile +++ Makefile @@ -9,6 +9,7 @@ INITD ?= $(SYSCONFDIR)/init.d HELPERS = \ + helpers/dev-root-link.sh \ helpers/net.sh all: