#!/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 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}"