aports/main/udev/write_root_link_rule
2010-10-04 11:51:22 +00:00

30 lines
1.1 KiB
Bash
Executable File

#!/bin/sh
#
# This script should run before doing udevtrigger at boot.
# It will create a rule matching the device directory / is on, and
# creating /dev/root symlink pointing on its device node.
#
# This is especially useful for hal looking at /proc/mounts containing
# a line listing /dev/root as device:
# /dev/root / reiserfs rw 0 0
#
# This program is free software; you can redistribute it and/or modify it
# under the terms of the GNU General Public License as published by the
# Free Software Foundation version 2 of the License.
#
# (c) 2007-2008 Matthias Schwarzott <zzam@gentoo.org>
eval $(udevadm info --export --export-prefix="ROOT_" --device-id-of-file=/)
[ $? = 0 ] || exit 0
[ "$ROOT_MAJOR" = 0 ] && exit 0
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}"