--- trunk/udev/write_root_link_rule.sh 2008/03/22 18:13:36 516 +++ trunk/udev/write_root_link_rule.sh 2008/12/22 20:30:09 716 @@ -1,5 +1,5 @@ #!/bin/sh -# $Header: /root/magellan-cvs/src/udev/write_root_link_rule.sh,v 1.1 2008-03-22 18:13:36 niro Exp $ +# $Header: /root/magellan-cvs/src/udev/write_root_link_rule.sh,v 1.2 2008-12-22 20:30:09 niro Exp $ # # This script should run before doing udevtrigger at boot. # It will create a rule matching the device directory / is on, and @@ -13,17 +13,17 @@ # under the terms of the GNU General Public License as published by the # Free Software Foundation version 2 of the License. # -# (c) 2007 Matthias Schwarzott +# (c) 2007-2008 Matthias Schwarzott -DEV=$(udevadm info --device-id-of-file=/) -if [ $? = 0 ]; then - MAJOR="${DEV% *}" - MINOR="${DEV#* }" +eval $(udevadm info --export --export-prefix="ROOT_" --device-id-of-file=/) - [ -d /dev/.udev/rules.d ] || mkdir -p /dev/.udev/rules.d - RULES=/dev/.udev/rules.d/10-root-link.rules +[ $? = 0 ] || exit 0 +[ "$ROOT_MAJOR" = 0 ] && exit 0 - echo "# Created by /lib/udev/write_root_link_rule" > "${RULES}" - echo "# This rule should create /dev/root as link to real root device." >> "${RULES}" - echo "SUBSYSTEM==\"block\", ENV{MAJOR}==\"$MAJOR\", ENV{MINOR}==\"$MINOR\", SYMLINK+=\"root\"" >> "${RULES}" -fi +DIR=/dev/.udev/rules.d +[ -d "$DIR" ] || mkdir -p "$DIR" +RULES=$DIR/10-root-link.rules + +echo "# Created by /lib/udev/write_root_link_rule" > "${RULES}" +echo "# This rule should create /dev/root as link to real root device." >> "${RULES}" +echo "SUBSYSTEM==\"block\", ENV{MAJOR}==\"$ROOT_MAJOR\", ENV{MINOR}==\"$ROOT_MINOR\", SYMLINK+=\"root\"" >> "${RULES}"