From: Johan Kielbaey (aquajtk-sles0605_at_yahoo.com)
Date: Thu Sep 21 2006 - 10:57:39 CEST
Message-ID: <20060921085739.95406.qmail@web36813.mail.mud.yahoo.com> Date: Thu, 21 Sep 2006 01:57:39 -0700 (PDT) From: Johan Kielbaey <aquajtk-sles0605@yahoo.com> Subject: [suse-sles-e] [SLES9] udev not working
Hello,
I'm testing SAN access on a SLES9 server. The standard devicenames of the SAN LUNs is the same as from the internal disks (sd<x>).
To make a clear difference between internal disks and SAN LUNs i'd like to use udev to change the names of the SAN LUNs.
I wrote a udev rule that should replace sd<x> with xp_sd<x>, however this doesn't work.
BUS="scsi", SYSFS{model}="OPEN-V ", NAME="xp_sd%n"
I copied the SYSFS{model} from udevinfo.
After creating this rule i launched udevstart, which didn't help. Then I rebooted, still no effect. In the end I used udev.debug
Then I noticed following in /var/log/messages:
Sep 21 10:01:43 s20855 udev[20004]: get_dirs: sysfs_path='/sys'
Sep 21 10:01:43 s20855 udev[20004]: get_dirs: udev_root = /dev/
Sep 21 10:01:43 s20855 udev[20004]: get_dirs: udev_config_filename = /etc/udev/udev.conf
Sep 21 10:01:43 s20855 udev[20004]: get_dirs: udev_db_filename = /dev/.udev.tdb
Sep 21 10:01:43 s20855 udev[20004]: get_dirs: udev_rules_filename = /etc/udev/udev.rules
Sep 21 10:01:43 s20855 udev[20004]: get_dirs: udev_permissions_filename = /etc/udev/udev.permissions
Sep 21 10:01:43 s20855 udev[20004]: get_dirs: udev_log = 1
Sep 21 10:01:43 s20855 udev[20004]: parse_config_file: reading '/etc/udev/udev.conf' as config file
Sep 21 10:01:43 s20855 udev[20004]: parse_config_file: read 'udev_root="/dev/"'
Sep 21 10:01:43 s20855 udev[20004]: parse_config_file: variable = 'udev_root', value = '/dev/'
Sep 21 10:01:43 s20855 udev[20004]: parse_config_file: udev_root = '/dev/'
Sep 21 10:01:43 s20855 udev[20004]: parse_config_file: read 'udev_db="/dev/.udev.tdb"'
Sep 21 10:01:43 s20855 udev[20004]: parse_config_file: variable = 'udev_db', value = '/dev/.udev.tdb'
Sep 21 10:01:43 s20855 udev[20004]: parse_config_file: udev_db = '/dev/.udev.tdb'
Sep 21 10:01:43 s20855 udev[20004]: parse_config_file: read 'udev_rules="/etc/udev/udev.rules"'
Sep 21 10:01:43 s20855 udev[20004]: parse_config_file: variable = 'udev_rules', value = '/etc/udev/udev.rules'
Sep 21 10:01:43 s20855 udev[20004]: parse_config_file: udev_rules = '/etc/udev/udev.rules'
Sep 21 10:01:43 s20855 udev[20004]: parse_config_file: read 'udev_permissions="/etc/udev/udev.permissions"'
Sep 21 10:01:43 s20855 udev[20004]: parse_config_file: variable = 'udev_permissions', value = '/etc/udev/udev.permissions'
Sep 21 10:01:43 s20855 udev[20004]: parse_config_file: udev_permissions = '/etc/udev/udev.permissions'
Sep 21 10:01:43 s20855 udev[20004]: parse_config_file: read 'default_mode="0600"'
Sep 21 10:01:43 s20855 udev[20004]: parse_config_file: variable = 'default_mode', value = '0600'
Sep 21 10:01:43 s20855 udev[20004]: parse_config_file: default_mode = '0600'
Sep 21 10:01:43 s20855 udev[20004]: parse_config_file: read 'default_owner="root"'
Sep 21 10:01:43 s20855 udev[20004]: parse_config_file: variable = 'default_owner', value = 'root'
Sep 21 10:01:43 s20855 udev[20004]: parse_config_file: default_owner = 'root'
Sep 21 10:01:43 s20855 udev[20004]: parse_config_file: read 'default_group="root"'
Sep 21 10:01:43 s20855 udev[20004]: parse_config_file: variable = 'default_group', value = 'root'
Sep 21 10:01:43 s20855 udev[20004]: parse_config_file: default_group = 'root'
Sep 21 10:01:43 s20855 udev[20004]: parse_config_file: /etc/udev/udev.conf:34:20: error parsing ''
Sep 21 10:01:43 s20855 udev[20004]: get_dirs: udev_root = /dev/
Sep 21 10:01:43 s20855 udev[20004]: get_dirs: udev_config_filename = /etc/udev/udev.conf
Sep 21 10:01:43 s20855 udev[20004]: get_dirs: udev_db_filename = /dev/.udev.tdb
Sep 21 10:01:43 s20855 udev[20004]: get_dirs: udev_rules_filename = /etc/udev/udev.rules
Sep 21 10:01:43 s20855 udev[20004]: get_dirs: udev_permissions_filename = /etc/udev/udev.permissions
Sep 21 10:01:43 s20855 udev[20004]: get_dirs: udev_log_str = 1
Sep 21 10:01:43 s20855 udev[20004]: main: version 021_bk
Sep 21 10:01:43 s20855 udev[20004]: udev_hotplug: no action?
The line "parse_config_file: /etc/udev/udev.conf:34:20: error parsing ''" is weird since I'm using the standard udev.conf.
Does anybody has experience with udev on sles9?
Thanks a lot :)
Johan
Some specs of the server I'm using:
Kernel: Linux s20855 2.6.5-7.276-bigsmp #1 SMP Mon Jul 24 10:45:31 UTC 2006 i686 i686 i386 GNU/Linux
SP
s20855:/etc/udev # SPident
CONCLUSION: System is up-to-date!
found SLES-9-i386-SP3 + "online updates"
s20855:/etc/udev # rpm -q udev
udev-021-36.56
# udev.conf
# The main config file for udev
#
# This file can be used to override some of udev's default values
# for where it looks for files, and where it places device nodes.
# udev_root - where in the filesystem to place the device nodes
udev_root="/dev/"
# udev_db - The name and location of the udev database.
udev_db="/dev/.udev.tdb"
# udev_rules - The name and location of the udev rules file
udev_rules="/etc/udev/udev.rules"
# udev_permissions - The name and location of the udev permission file
udev_permissions="/etc/udev/udev.permissions"
# default_mode - set the default mode for all nodes that have no
# explicit match in the permissions file
default_mode="0600"
# default_owner - set the default owner for all nodes that have no
# explicit match in the permissions file
default_owner="root"
# default_group - set the default group for all nodes that have no
# explicit match in the permissions file
default_group="root"
# udev_log - set to "yes" if you want logging, else "no"
udev_log="yes"
s20855:/etc/udev # cat /etc/udev/udev.rules
# $Id: udev.rules.SuSE 276 2005-06-06 14:01:30Z hare $
#
# There are a number of modifiers that are allowed to be used in some of the
# fields. See the udev man page for a full description of them.
#
# See the udev.rules.examples file for more examples of how to create rules
#
# external helpers should match /sbin/udev.*.sh
# they should only use /lib/klibc/bin/ binaries
#
BUS="scsi", SYSFS{model}="OPEN-V ", NAME="xp_sd%n"
BUS="scsi", PROGRAM="/sbin/udev.get_persistent_device_name.sh", NAME="%k" SYMLINK="%c{1+}"
BUS="usb", PROGRAM="/sbin/udev.get_persistent_device_name.sh", NAME="%k" SYMLINK="%c{1+}"
BUS="ide", PROGRAM="/sbin/udev.get_persistent_device_name.sh", NAME="%k" SYMLINK="%c{1+}"
BUS="ccw", PROGRAM="/sbin/udev.get_persistent_device_name.sh", NAME="%k" SYMLINK="%c{1+}"
# device mapper files
KERNEL="device-mapper", NAME="%k", SYMLINK="mapper/control"
# device mapper targets
KERNEL="dm-[0-9]*", PROGRAM="/sbin/devmap_name %M %m", NAME="%k" SYMLINK="disk/by-name/%c"
# DRI devices always go into a subdirectory (as per the LSB spec)
KERNEL="card*", NAME="dri/card%n"
# alsa devices
KERNEL="controlC[0-9]*", NAME="snd/%k"
KERNEL="hw[CD0-9]*", NAME="snd/%k"
KERNEL="pcm[CD0-9cp]*", NAME="snd/%k"
KERNEL="midiC[D0-9]*", NAME="snd/%k"
KERNEL="timer", NAME="snd/%k"
KERNEL="seq", NAME="snd/%k"
# symlink infrared remote input device
#KERNEL="event*", SYSFS_name="*IR*", NAME="input/%k", SYMLINK="input/ir" # would have been nice ...
KERNEL="event*", PROGRAM="/sbin/udev.get_input_lirc.sh %k", RESULT="*IR*", NAME="input/%k", SYMLINK="input/ir"
# input devices
KERNEL="mice", NAME="input/%k"
KERNEL="mouse*", NAME="input/%k"
KERNEL="event*", NAME="input/%k"
KERNEL="js*", NAME="input/%k"
KERNEL="ts*", NAME="input/%k"
# USB devices
KERNEL="hiddev*", NAME="usb/%k"
KERNEL="auer*", NAME="usb/%k"
KERNEL="legousbtower*", NAME="usb/%k"
KERNEL="dabusb*", NAME="usb/%k"
BUS="usb", KERNEL="lp[0-9]*", NAME="usb/%k"
# CAPI devices
KERNEL="capi", NAME="capi20", SYMLINK="isdn/capi20"
KERNEL="capi*", NAME="capi/%n"
# Network devices
KERNEL="tun", NAME="net/%k"
# raw devices
KERNEL="raw[0-9]*", NAME="raw/%k"
# eveything that did not match yet will get the kernel name.
This archive was generated by hypermail 2.1.7 : Thu Sep 21 2006 - 10:58:06 CEST