LogoopenSUSE Build Service > Projects
Sign Up | Log In

View File README.raw of Package util-linux (Project Base:System)

Raw device driver support on SLS 9

On SLS 9, you will notice that by default, raw devices (nodes) (/dev/rawctl
and /dev/raw/rawN (1-15)) no longer exist whereas in SLES 8, the raw nodes were
created when the system was initially installed. SLS 9, by default, uses
the new dynamic userspace implementation "sysfs" together with "udev" which
replaces the previous static "dev" system.

Raw devices are moving towards eventual obsolescence with block+O_DIRECT
support intended as a replacement. The primary application users of raw
character devices have been databases so the database you are using will have
to support the O_DIRECT functionality before moving away from raw character
devices.

Using RAW with kernel 2.6 (SLS 9)
---------------------------------
Raw device usage in kernel 2.6 together with udev and sysfs was intended to be
quite seamless. Basically, all that is required is to load the raw module after
each reboot using the commands "modprobe raw" or "rcraw start".  Then use the
"raw" command to create the bindings to the block character devices.  The raw
device nodes are no longer required to exist before the bindings are assigned
and used.

Using a single script, you can you load the raw module and bind the raw nodes
to block devices.

#!/usr/bin
# load the raw module
modprobe raw  # can also use "rcraw start"
# create the raw bindings
raw /dev/raw/raw1 /dev/sdb1
raw /dev/raw/raw2 /dev/sbc1

You can see if the raw driver is available by issuing "rcraw status". If the
raw driver is loaded, the command should return a status of "running". A status
of "dead" will usually indicate that the driver was not loaded or
the /dev/rawctl file does not exist. The /dev/rawctl file is automatically
created when the module is loaded. This file and the /dev/raw/rawN nodes can
also be viewed under the /sys/class/raw directory.

Raw node permissions
----------------------------------
When the raw devices are assigned,  permission settings are determined from the
/etc/udev/udev.permission file.  This file can be modified to assign different
owner, group and/or access permissions to the raw nodes.  For example, by
default, the permission settings for raw nodes are as follows:

raw/raw*:root:disk:660

Here, root:disk is the default owner:group with read write access for owner and
group.  As an example, to create the raw nodes with an owner:group of
user1:group1 and read write access for all, change the assignment as follows:

raw/raw*:user1:group1:666