<chapter id="devconfig-27900"><title>Managing Devices (Overview/Tasks)</title><highlights><para>This chapter provides overview information and step-by-step instructions
for managing peripheral devices, such as disks, CD-ROMs, and tape devices,
in the Solaris release.</para><para>This is a list of the overview information in this chapter.</para><itemizedlist><listitem><para><olink targetptr="gdryj" remap="internal">What's New in Device Management?</olink></para>
</listitem><listitem><para><olink targetptr="devconfig-23" remap="internal">Where to Find Device Management
Tasks</olink></para>
</listitem><listitem><para><olink targetptr="devconfig-25988" remap="internal">About Device Drivers</olink></para>
</listitem><listitem><para><olink targetptr="devconfig-12740" remap="internal">Automatic Configuration
of Devices</olink></para>
</listitem><listitem><para><olink targetptr="devconfig-27211" remap="internal">Displaying Device Configuration
Information</olink></para>
</listitem><listitem><para><olink targetptr="devaccess-90138" remap="internal">Accessing Devices</olink></para>
</listitem>
</itemizedlist><para>This is a list of the step-by-step instructions in this chapter.</para><itemizedlist><listitem><para><olink targetptr="devconfig-20" remap="internal">How to Display System Configuration
Information</olink></para>
</listitem><listitem><para><olink targetptr="devconfig-18" remap="internal">How to Add a Device Driver</olink></para>
</listitem><listitem><para><olink targetptr="devconfig-3" remap="internal">How to Add a Peripheral Device</olink></para>
</listitem>
</itemizedlist><para>Device management in the Solaris release usually involves adding and
removing peripheral devices from systems, possibly adding a third-party device
driver to support a device, and displaying system configuration information.</para>
</highlights><sect1 id="gdryj"><title>What's New in Device Management?</title><para>This section provides information about new device management features
in the Solaris release.</para><itemizedlist><listitem><para><olink targetptr="gdryc" remap="internal">Device Detection Tool</olink></para>
</listitem><listitem><para><olink targetptr="gdryb" remap="internal">Faulty Device Retirement Feature</olink></para>
</listitem><listitem><para><olink targetptr="gdrya" remap="internal">Device
Naming Enhancements</olink></para>
</listitem><listitem><para><olink targetptr="gbpoi" remap="internal">Support for PCI Express (PCIe)</olink></para>
</listitem><listitem><para><olink targetptr="gcajp" remap="internal">USB and 1394 (FireWire) Support Enhancements</olink></para>
</listitem><listitem><para><olink targetptr="gcajq" remap="internal">Improved Device In Use Error Checking</olink></para>
</listitem>
</itemizedlist><para>For a complete listing of new Solaris features and a description of
Solaris releases, see <olink targetdoc="solwhatsnew" remap="external"><citetitle remap="book">Solaris Express Developer Edition What&rsquo;s New</citetitle></olink>.</para><sect2 id="gdryc" arch="x86"><title>Device Detection Tool</title><para><emphasis role="strong">Solaris Express Developer Edition 1/08</emphasis>:
You can use the device detection tool to identify whether your x86 hardware
is supported in this Solaris release. For more information, go to the following
site:</para><para><ulink url="http://www.sun.com/bigadmin/hcl/hcts/device_detect.jsp" type="url"></ulink></para>
</sect2><sect2 id="gdryb"><title>Faulty
Device Retirement Feature</title><para><emphasis role="strong">Solaris Express Developer Edition 1/08</emphasis>:
This release introduces a new device retirement mechanism to isolate a device
as <emphasis>faulty</emphasis> by the fault management framework (FMA). This
feature allows faulty devices to be safely and automatically inactivated to
avoid data loss, data corruption, or panics and system down time. The retirement
process is done safely, taking into account the stability of the system after
the device has been retired.</para><para>Critical devices are never retired. If you need to manually replace
a retired device, use the <command>fmadm repair</command> command after the
device replacement so that system knows that the device is replaced, in addition
to the manual replacement steps.</para><para>The <command>fmadm</command> repair process is as follows:</para><itemizedlist><listitem><para>Identify the faulted device with the <command>fmadm faulty</command> <option>a</option> command.</para><screen># fmadm faulty

   STATE RESOURCE / UUID

-------- ---------------------------------------------------------------------

faulty   &lt;<replaceable>fmri</replaceable>></screen>
</listitem><listitem><para>Clear the fault by using the <command>fmadm repair</command> command.</para><screen># fmadm repair &lt;<replaceable>fmri</replaceable>></screen>
</listitem><listitem><para>Run the <command>fmadm faulty</command> command again to be
sure the fault is cleared.</para><screen># fmadm faulty -a
   STATE RESOURCE / UUID</screen>
</listitem>
</itemizedlist><para>For more information, see <olink targetdoc="refman1m" targetptr="fmadm-1m" remap="external"><citerefentry><refentrytitle>fmadm</refentrytitle><manvolnum>1M</manvolnum></citerefentry></olink>.</para><para>A general message regarding device retirement is displayed on the console
and written to the <filename>/var/adm/messages</filename> file so that you
aware of a retired device. For example:</para><screen remap="wide">Aug 9 18:14 starbug genunix: [ID 751201 kern.notice] NOTICE: One or more I/O devices have been retired</screen><para>You can use the <command>prtconf</command> command to identify specific
retired devices. For example:</para><screen># prtconf
.
.
.
pci, instance #2
        scsi, instance #0
            disk (driver not attached)
            tape (driver not attached)
            sd, instance #3
            sd, instance #0 (retired)
        scsi, instance #1 (retired)
            disk (retired)
            tape (retired)
    pci, instance #3
        network, instance #2 (driver not attached)
        network, instance #3 (driver not attached)
    os-io (driver not attached)
    iscsi, instance #0
    pseudo, instance #0 
.
.
.</screen>
</sect2><sect2 id="gdrya"><title>Device Naming Enhancements</title><para><emphasis role="strong">Solaris Express 10/06</emphasis>: The <filename>/dev</filename> name space supports multiple file system instances as needed.
A global instance of the <filename>/dev</filename> file system is created
automatically when the system is booted. Subsequent <filename>/dev</filename> instances
are created and mounted when needed, such as when devices are added to a non-global
zone. When a non-global zone is shutdown, the available <filename>/dev</filename> instance
is unmounted and unavailable.</para><para>In addition, device configuration is improved in the following ways:</para><itemizedlist><listitem><para><emphasis role="strong">Reconfiguration boot is eliminated</emphasis> &ndash;
In previous Solaris releases, a reconfiguration boot was needed if you connected
a device to a system that is powered off.</para><para>In this Solaris release,
performing a reconfiguration boot is unnecessary when attaching devices to
a system that is powered off. Newly attached devices are automatically recognized
and the appropriate device links are created when the system is rebooted.</para><para>For more information, see <olink targetdoc="refman7" targetptr="dev-7fs" remap="external"><citerefentry><refentrytitle>dev</refentrytitle><manvolnum>7FS</manvolnum></citerefentry></olink>.</para>
</listitem><listitem><para><emphasis role="strong">Zone device support is simplified</emphasis> &ndash;
As described above, device support for Solaris zones is enhanced by providing
specific instances of the <filename>/dev</filename> directory for non-global
zones. In addition, zones are no longer dependent upon the <command>devfsadm</command> daemon
for reconfiguration of devices within a zone.</para>
</listitem><listitem><para><emphasis role="strong">Pseudo device creation is improved</emphasis> &ndash;
In this Solaris release, the content of the <filename>/dev/pts</filename> directory
is created on demand in the global <filename>/dev</filename> name space as
well as a<filename>/dev</filename> instance when needed in a non-global zone.
In addition, the <literal>pty</literal>s links are only visible in the global
zone or the non-global zone from which they are allocated.</para><para>For
more information, see <olink targetdoc="refman3a" targetptr="grantpt-3c" remap="external"><citerefentry><refentrytitle>grantpt</refentrytitle><manvolnum>3C</manvolnum></citerefentry></olink>.</para>
</listitem>
</itemizedlist><para>For more information about device configuration, see <olink targetptr="gdvku" remap="internal">Managing Devices in the Solaris OS</olink>.</para>
</sect2><sect2 id="gbpoi"><title>Support for PCI Express (PCIe)</title><para><emphasis role="strong">Solaris Express 4/06</emphasis>: This Solaris release provides
support for the PCI Express (PCIe) interconnect, which is designed to connect
peripheral devices to desktop, enterprise, mobile, communication, and embedded
applications, on both SPARC and x86 systems.</para><para>In the previous  Solaris
Express 1/06  release, PCIe devices were only available on x86 systems.</para><para>The PCIe interconnect is an industry-standard, high-performance, serial
I/O bus. For details on PCIe technology, go to the following site:</para><para><ulink url="http://www.pcisig.com" type="url"></ulink></para><para>The PCIe software provides the following features in this Solaris release:</para><itemizedlist><listitem><para>Support for extended PCIe configuration space</para>
</listitem><listitem><para>Support for PCIe baseline error handling and MSI interrupts</para>
</listitem><listitem><para>Modified IEEE-1275 properties for PCIe devices</para>
</listitem><listitem><para>PCIe hotplug support (both native and ACPI-based) by enhancing
the <literal>cfgadm_pci</literal> component of the <command>cfgadm</command> command</para>
</listitem><listitem><para>ATTN Button usage based PCIe peripheral autoconfiguration</para>
</listitem>
</itemizedlist><para>The administrative model for hotplugging PCIe peripherals is the same
as for PCI peripherals, which uses the <command>cfgadm</command> command.</para><para>Check your hardware platform guide to ensure that PCIe and PCIe hotplug
support is provided on your system. In addition, carefully review the instructions
 for physically inserting or removing adapters on your system and the semantics
of device auto-configuration, if applicable.</para><para>For information about using the <command>cfgadm</command> command with
PCIe peripherals, see <olink targetptr="devconfig2-121" remap="internal">PCI or PCIe Hot-Plugging
With the cfgadm Command (Task Map)</olink>.</para>
</sect2><sect2 id="gcajp"><title>USB and 1394 (FireWire) Support Enhancements</title><para><emphasis role="strong">Solaris Express 6/06</emphasis>: In this Solaris release,
both non-removable USB storage devices and 1394 mass storage devices are identified
as hotpluggable devices at the driver level. This new behavior means that
these devices can be connected or disconnected without rebooting the system
and configured or unconfigured automatically without intervention. These changes
are made at the kernel level and do not impact the use of these devices. For
example, the responsibility of mounting and unmounting these devices is controlled
by the removable media management services.</para><para>In addition, non-removable USB devices and 1394 mass storage devices
can be accessed and labeled by using the <command>format</command> utility.
 However, you can override the new hotpluggable behavior of these devices
by setting the <literal>remvalue</literal> to true in the <filename>/kernel/drv/scsa2usb.conf</filename> file. Setting this parameter to true means that the device is
treated as a removable media device at the driver level, if that behavior
is preferred.</para><para>For more information on using these devices, see <olink targetdoc="refman7" targetptr="scsa1394-7d" remap="external"><citerefentry><refentrytitle>scsa1394</refentrytitle><manvolnum>7D</manvolnum></citerefentry></olink> and <olink targetptr="devusbtasks-34" remap="internal">Using USB Mass Storage Devices (Task Map)</olink>.</para>
</sect2><sect2 id="gcajq"><title>Improved Device In Use Error Checking</title><para><emphasis role="strong">Solaris Express 1/06</emphasis>: This feature was undocumented
previously.</para><para>The following utilities have been enhanced to detect when a specified
device is in use:</para><itemizedlist><listitem><para><command>dumpadm</command></para>
</listitem><listitem><para><command>format</command></para>
</listitem><listitem><para><command>mkfs</command> and <command>newfs</command></para>
</listitem><listitem><para><command>swap</command></para>
</listitem>
</itemizedlist><para>These enhancements mean that the above utilities might detect some of
the following usage scenarios:</para><itemizedlist><listitem><para>Device is part of a ZFS storage pool</para>
</listitem><listitem><para>Device is a dump or swap device</para>
</listitem><listitem><para>Mounted file system or an entry for the device exists in the <filename>/etc/vfstab</filename> file</para>
</listitem><listitem><para>Device is part of live upgrade configuration</para>
</listitem><listitem><para>Device is part of a Solaris Volume Manager configuration or
Veritas Volume Manager configuration</para>
</listitem>
</itemizedlist><para>For example, if you attempt to use the <command>format</command> utility
to access an active device, you will see a message similar to the following:</para><screen># <userinput>format</userinput>
.
.
.
Specify disk (enter its number): 1
selecting c0t1d0
[disk formatted]
Warning: Current Disk has mounted partitions.
/dev/dsk/c0t1d0s0 is currently mounted on /. Please see umount(1M).
/dev/dsk/c0t1d0s1 is currently used by swap. Please see swap(1M).</screen><para>However, these utilities do not detect all scenarios in the same way.
For example, you can use the <command>newfs</command> command to create a
new file system on a device in a live upgrade configuration. You cannot use
the <command>newfs</command> command to create a new file system on a device
that is part of a live upgrade configuration if it also has a mounted file
system.</para>
</sect2>
</sect1><sect1 id="devconfig-23"><title>Where to Find Device Management Tasks</title><para>The following table describes where to find step-by-step instructions
for hot-plugging devices and adding serial devices, such as printers and modems,
and peripheral devices, such as a disk, CD-ROM, or tape device.</para><table frame="topbot" id="devconfig-23806"><title>Where to Find Instructions
for Adding a Device</title><tgroup cols="2" colsep="0" rowsep="0"><colspec colname="column1" colwidth="158*"/><colspec colname="column2" colwidth="238*"/><thead><row rowsep="1"><entry><para>Device Management Task</para>
</entry><entry><para>For More Information</para>
</entry>
</row>
</thead><tbody><row><entry><para>Add a disk that is not hot-pluggable.</para>
</entry><entry><para><olink targetptr="diskssadd-16103" remap="internal">Chapter&nbsp;12, SPARC: Adding a
Disk (Tasks)</olink> or <olink targetptr="disksxadd-38159" remap="internal">Chapter&nbsp;13,
x86: Adding a Disk (Tasks)</olink></para>
</entry>
</row><row><entry><para>Hot-plug a SCSI or PCI device.</para>
</entry><entry><para><olink targetptr="devconfig2-8" remap="internal">SCSI Hot-Plugging With the cfgadm Command</olink> or <olink targetptr="devconfig2-49" remap="internal">PCI or PCIe Hot-Plugging With the cfgadm Command</olink></para>
</entry>
</row><row><entry><para>Hot-plug a USB device.</para>
</entry><entry><para><olink targetptr="devusbtasks-34" remap="internal">Using USB Mass Storage Devices (Task
Map)</olink></para>
</entry>
</row><row><entry><para>Add a CD-ROM or tape device.</para>
</entry><entry><para><olink targetptr="devconfig-3" remap="internal">How to Add a Peripheral Device</olink></para>
</entry>
</row><row><entry><para>Add a modem.</para>
</entry><entry><para><olink targetdoc="sysadv2" targetptr="modconcepts-20809" remap="external">Chapter 1, <citetitle remap="chapter">Managing Terminals and Modems (Overview),</citetitle> in <citetitle remap="book">System Administration Guide: Advanced Administration</citetitle></olink></para>
</entry>
</row><row><entry><para>Add a printer.</para>
</entry><entry><para>Chapter 6, <citetitle remap="chapter">Administering Printers (Tasks),</citetitle> in <citetitle remap="book">System Administration Guide: Solaris Printing</citetitle></para>
</entry>
</row><row><entry><para>Secure a device.</para>
</entry><entry><para><olink targetdoc="sysadv6" targetptr="devtask-1" remap="external">Chapter 5, <citetitle remap="chapter">Controlling Access to Devices (Tasks),</citetitle> in <citetitle remap="book">System Administration Guide: Security Services</citetitle></olink></para>
</entry>
</row>
</tbody>
</tgroup>
</table>
</sect1><sect1 id="gdvku"><title>Managing Devices in the Solaris OS</title><para>The following sections provide overview information about features that
manage devices in the Solaris OS. For information about accessing devices,
see <olink targetptr="devaccess-90138" remap="internal">Accessing Devices</olink>.</para><sect2 id="gdvkz"><title>Power Management of Devices</title><para>The United States Environmental Protection Agency created the Energy <trademark class="registered">Star</trademark> guidelines for computer products to encourage
the use of energy-efficient computer systems and to reduce air pollution associated
with energy generation.  To meet these guidelines, Sun hardware is designed
to use power efficiently. In addition, power management software is provided
to configure the power management settings.</para><para>For more information about power managing your system, see your specific
hardware documentation or <olink targetdoc="refman4" targetptr="power.conf-4" remap="external"><citerefentry><refentrytitle>power.conf</refentrytitle><manvolnum>4</manvolnum></citerefentry></olink>.</para><sect3 id="fbeci"><title>Power Management of Fibre Channel Devices</title><para>Power management of Sun systems has been provided in many previous Solaris
releases. For example, the internal drives on the following systems are power
managed by default:</para><itemizedlist><listitem><para>SunBlade 1000 or 2000</para>
</listitem><listitem><para>SunBlade 100 or 150</para>
</listitem><listitem><para>SunBlade 2500 or 1500</para>
</listitem>
</itemizedlist><para>The default settings in the <filename>/etc/power.conf</filename> file
ensure Energy Star compliance and fully support power management of these
systems. </para><para>The following adapters connect external Fibre Channel storage devices:</para><itemizedlist><listitem><para>Sun StorEdge PCI Dual Fibre Channel Host Adapter</para>
</listitem><listitem><para>Sun StorEdge PCI Single Fibre Channel Network Adapter</para>
</listitem>
</itemizedlist><para>If a combination of the above adapters and Sun systems are used to attach
external Fibre Channel storage devices, the external storage devices will
also be power managed by default.</para><para>Under the following conditions, power management should be disabled:</para><itemizedlist><listitem><para>If the system has Fibre Channel attached disks that are connected
to a storage area network (SAN)</para>
</listitem><listitem><para>If the system has Fibre Channel attached disks that are used
in a multi-initiator configuration, such as with the SunCluster software</para>
</listitem><listitem><para>If the system is using IP over a Fibre Channel interface (see <olink targetdoc="refman7" targetptr="fcip-7d" remap="external"><citerefentry><refentrytitle>fcip</refentrytitle><manvolnum>7D</manvolnum></citerefentry></olink>)</para>
</listitem>
</itemizedlist><para>Power management should not be enabled when more than one Solaris system
might share the same devices, as in the above conditions.</para><para>You can disable power management for the system by changing the <literal>autopm</literal> keyword in the <filename>/etc/power.conf</filename> file as follows:</para><screen>autopm 		disable</screen><para>Then, reconfigure power management by running the <command>pmconfig</command> command
or by rebooting the system.</para><para>For more information, see <olink targetdoc="refman4" targetptr="power.conf-4" remap="external"><citerefentry><refentrytitle>power.conf</refentrytitle><manvolnum>4</manvolnum></citerefentry></olink> and <olink targetdoc="refman1m" targetptr="pmconfig-1m" remap="external"><citerefentry><refentrytitle>pmconfig</refentrytitle><manvolnum>1M</manvolnum></citerefentry></olink>.</para>
</sect3>
</sect2><sect2 id="devconfig-25988"><title>About Device Drivers</title><para>A computer typically uses a wide range of peripheral devices and mass-storage
devices. Your system, for example, probably has a disk drive, a keyboard and
a mouse, and some kind of magnetic backup medium. Other commonly used devices
include the following:</para><itemizedlist><listitem><para>CD-ROM drives</para>
</listitem><listitem><para>Printers and plotters</para>
</listitem><listitem><para>Light pens</para>
</listitem><listitem><para>Touch-sensitive screens</para>
</listitem><listitem><para>Digitizers</para>
</listitem><listitem><para>Tablet-and-stylus pairs</para>
</listitem>
</itemizedlist><para>The Solaris software does not directly communicate with all these devices.
Each type of device requires different data formats, protocols, and transmission
rates.</para><para>A <emphasis>device driver</emphasis> is a low-level program that allows
the operating system to communicate with a specific piece of hardware. The
driver serves as the operating system's &ldquo;interpreter&rdquo; for that
piece of hardware. </para>
</sect2><sect2 id="devconfig-12740"><title>Automatic Configuration of Devices</title><para>The kernel consists of a small generic core with a platform-specific
component and a set of modules. The kernel is configured automatically in
the Solaris release.</para><para>A <emphasis>kernel</emphasis> <emphasis>module</emphasis> is a hardware
or software component that is used to perform a specific task on the system.
An example of a <emphasis>loadable</emphasis> kernel module is a device driver
that is loaded when the device is accessed.</para><para>The platform-independent kernel is <filename>/kernel/genunix</filename>.
The platform-specific component is <filename>/platform/`uname -m`/kernel/unix</filename>. </para><para>The kernel modules are described in the following table.  </para><table frame="topbot" id="devconfig-37710"><title>Description of Solaris Kernel
Modules</title><tgroup cols="2" colsep="0" rowsep="0"><colspec colname="column1" colwidth="180*"/><colspec colname="column2" colwidth="180*"/><thead><row rowsep="1"><entry><para>Location</para>
</entry><entry><para>Directory Contents</para>
</entry>
</row>
</thead><tbody><row><entry><para><filename>/platform/`uname -m`/kernel</filename></para>
</entry><entry><para>Platform-specific kernel components</para>
</entry>
</row><row><entry><para><filename>/kernel</filename></para>
</entry><entry><para>Kernel components common to all platforms that are needed for booting
the system</para>
</entry>
</row><row><entry><para><filename>/usr/kernel</filename></para>
</entry><entry><para>Kernel components common to all platforms within a particular instruction
set</para>
</entry>
</row>
</tbody>
</tgroup>
</table><para>The system determines what devices are attached to it at boot time.
Then, the kernel configures itself dynamically, loading needed modules into
memory. At this time, device drivers are loaded when devices, such as disk
devices and tape devices, are accessed. This process is called <emphasis>autoconfiguration</emphasis> because all kernel modules are loaded automatically when they
are needed. </para><para>You can customize the way in which kernel modules are loaded by modifying
the <filename>/etc/system</filename> file. For instructions on modifying this
file, see <olink targetdoc="refman4" targetptr="system-4" remap="external"><citerefentry><refentrytitle>system</refentrytitle><manvolnum>4</manvolnum></citerefentry></olink>.</para><sect3 id="devconfig-1"><title>Features and Benefits of Autoconfiguration</title><para>The benefits of autoconfiguration are as follows:</para><itemizedlist><listitem><para>Main memory is used more efficiently because modules are loaded
when needed.</para>
</listitem><listitem><para>There is no need to reconfigure the kernel when new devices
are added to the system.</para>
</listitem><listitem><para>Drivers can be loaded and tested without having to rebuild
the kernel and reboot the system.</para>
</listitem>
</itemizedlist><para>Autoconfiguration is used when you add a new device
(and driver) to the system. In previous Solaris releases, it was necessary
to perform a reconfiguration boot if you added a device to a system that is
shutdown. Starting in the Solaris Express 10/06 release, device configuration
enhancements make a reconfiguration boot unnecessary when a device is added
to a system that is shutdown.</para><para>You can add, remove, or replace
devices in the Solaris OS while the system is still running, if the system
components support hot-plugging. For information about hot-plugging devices,
see <olink targetptr="devconfig2-1" remap="internal">Chapter&nbsp;6, Dynamically Configuring
Devices (Tasks)</olink>.</para>
</sect3><sect3 id="devconfig-2"><title>What You Need for Unsupported Devices</title><para>Device drivers needed to support a wide range of standard devices are
included in the Solaris release. These drivers can be found in the <filename>/kernel/drv</filename> and <filename>/platform/`uname -m`/kernel/drv</filename> directories.
 </para><para>However, if you have purchased an unsupported device, the manufacturer
should provide the software that is needed for the device to be properly installed,
maintained, and administered.</para><para>At a minimum, this software includes a device driver and its associated
configuration (<filename>.conf</filename>) file. The <filename>.conf</filename> files
reside in the <filename>drv</filename> directories. This software might also
include custom maintenance and administrative utilities because the device
might be incompatible with Solaris utilities. </para><para>For more information about what you need for unsupported devices, contact
your device manufacturer.</para>
</sect3>
</sect2><sect2 id="devconfig-27211"><title>Displaying Device Configuration Information</title><para>Three commands are used to display system and device configuration information. </para><informaltable frame="topbot"><tgroup cols="3" colsep="0" rowsep="0"><colspec colwidth="17.09*"/><colspec colwidth="64.79*"/><colspec colname="colspec2" colwidth="17.13*"/><thead><row rowsep="1"><entry><para>Command</para>
</entry><entry><para>Description</para>
</entry><entry><para>Man Page</para>
</entry>
</row>
</thead><tbody><row><entry><para><command>prtconf</command></para>
</entry><entry><para>Displays system configuration information, including the total amount
of memory and the device configuration as described by the system's device
hierarchy. The output displayed by this command depends upon the type of system.</para>
</entry><entry><para><olink targetdoc="refman1m" targetptr="prtconf-1m" remap="external"><citerefentry><refentrytitle>prtconf</refentrytitle><manvolnum>1M</manvolnum></citerefentry></olink></para>
</entry>
</row><row><entry><para><command>sysdef</command></para>
</entry><entry><para>Displays device configuration information, including system hardware,
pseudo devices, loadable modules, and selected kernel parameters. </para>
</entry><entry><para><olink targetdoc="refman1m" targetptr="sysdef-1m" remap="external"><citerefentry><refentrytitle>sysdef</refentrytitle><manvolnum>1M</manvolnum></citerefentry></olink></para>
</entry>
</row><row><entry><para><command>dmesg</command></para>
</entry><entry><para>Displays system diagnostic messages as well as a list of devices attached
to the system since the last reboot.</para>
</entry><entry><para><olink targetdoc="refman1m" targetptr="dmesg-1m" remap="external"><citerefentry><refentrytitle>dmesg</refentrytitle><manvolnum>1M</manvolnum></citerefentry></olink></para>
</entry>
</row>
</tbody>
</tgroup>
</informaltable><para>For information on the device names that are used to identify devices
on the system, see <olink targetptr="devaccess-29390" remap="internal">Device Naming Conventions</olink>.</para><sect3 id="devconfig-19"><title><filename>driver not attached</filename> Message</title><para>The following driver-related message might be displayed by the <command>prtconf</command> and <command>sysdef</command> commands: </para><screen><replaceable>device</replaceable>, instance #<replaceable>number</replaceable> (driver not attached)</screen><para>This message does not always mean that a driver is unavailable for this
device. This message means that no driver is <emphasis>currently</emphasis> attached
to the device instance because no device exists at this node or the device
is not in use. Drivers are loaded automatically when the device is accessed.
They are unloaded when the device is not in use.</para>
</sect3><task id="devconfig-20"><title>How to Display System Configuration Information</title><tasksummary><para>Use the output of the <command>prtconf</command> and <command>sysdef</command> commands
to identify which disk, tape, and CD-ROM devices are connected to the system.
The output of these commands displays the <literal>driver not attached</literal> messages
next to the device instances. Because these devices are always being monitored
by some system process, the <literal>driver not attached</literal> message
is usually a good indication that no device exists at that device instance. </para><para>Use the <command>sysdef</command> command to display system configuration
information that include pseudo devices, loadable modules, and selected kernel
parameters.</para>
</tasksummary><procedure remap="single-step"><step><para>Display system and device configuration information.</para><itemizedlist><listitem><para>Display all the devices connected to a system.</para><para>For
example, the following <command>prtconf -v</command> output on a SunBlade
1000 identifies the disk devices connected to the system. The detailed disk
information is described in the <literal>Device Minor Nodes</literal> section
within the <literal>ssd/fp</literal> driver section.</para><screen>$ <userinput>/usr/sbin/prtconf -v | more</userinput>
.
.
.
            Device Minor Nodes:
               dev=(118,8)
                  dev_path=/pci@8,600000/SUNW,qlc@4/fp@0,0/ssd@w210000
2037bde864,0:a
                      spectype=blk type=minor
                      dev_link=/dev/dsk/c0t1d0s0
                  dev_path=/pci@8,600000/SUNW,qlc@4/fp@0,0/ssd@w210000
2037bde864,0:a,raw
                      spectype=chr type=minor
                      dev_link=/dev/rdsk/c0t1d0s0
               dev=(118,9)
                  dev_path=/pci@8,600000/SUNW,qlc@4/fp@0,0/ssd@w210000
2037bde864,0:b
                      spectype=blk type=minor
                      dev_link=/dev/dsk/c0t1d0s1
                  dev_path=/pci@8,600000/SUNW,qlc@4/fp@0,0/ssd@w210000
2037bde864,0:b,raw
.
.
.</screen>
</listitem><listitem><para>Display information about one specific device connected to
the system.</para><para>For example, the following <command>prtconf</command> output
on a SunBlade 1000 displays the <literal>ssd</literal> instance number for <filename>/dev/dsk/c0t1d0s0</filename>.</para><screen># <userinput>prtconf -v /dev/dsk/c0t1d0s0</userinput>
ssd, instance #1</screen>
</listitem><listitem><para>Display only the devices that are attached to the system.</para><screen># <userinput>prtconf | grep -v not</userinput></screen>
</listitem><listitem><para>Display device usage information.</para><para>For example,
the following <command>fuser</command> command displays which processes are
accessing the <literal>/dev/console</literal> device.</para><screen># <userinput>fuser -d /dev/console</userinput>
/dev/console:      346o     323o
#</screen>
</listitem>
</itemizedlist>
</step>
</procedure><example id="eyamo"><title>Displaying System Configuration Information</title><para>The following <command>prtconf</command> output is displayed on a SPARC
based system.</para><screen># <userinput>prtconf</userinput>
System Configuration:  Sun Microsystems  sun4u
Memory size: 512 Megabytes
System Peripherals (Software Nodes):

SUNW,Sun-Blade-1000
    scsi_vhci, instance #0
    packages (driver not attached)
        SUNW,builtin-drivers (driver not attached)
        deblocker (driver not attached)
        disk-label (driver not attached)
        terminal-emulator (driver not attached)
        obp-tftp (driver not attached)
        dropins (driver not attached)
        kbd-translator (driver not attached)
        ufs-file-system (driver not attached)
    chosen (driver not attached)
    openprom (driver not attached)
        client-services (driver not attached)
    options, instance #0
    aliases (driver not attached)
    memory (driver not attached)
    virtual-memory (driver not attached)
    SUNW,UltraSPARC-III, instance #0
    memory-controller, instance #0
    SUNW,UltraSPARC-III, instance #1
    memory-controller, instance #1
    pci, instance #0
        ebus, instance #0
            flashprom (driver not attached)
            bbc (driver not attached)
            ppm, instance #0
            i2c, instance #0
                dimm-fru, instance #0
                dimm-fru, instance #1
                dimm-fru, instance #2
                dimm-fru, instance #3
                nvram, instance #4
                idprom (driver not attached)
            i2c, instance #1
                cpu-fru, instance #5
                temperature, instance #0
                cpu-fru, instance #6
                temperature, instance #1
                fan-control, instance #0
                motherboard-fru, instance #7
                i2c-bridge (driver not attached)
            beep, instance #0
            rtc, instance #0
            gpio (driver not attached)
            pmc (driver not attached)
            floppy (driver not attached)
            parallel (driver not attached)
            serial, instance #0
        network, instance #0
        firewire, instance #0
        usb, instance #0
        scsi (driver not attached)
            disk (driver not attached)
            tape (driver not attached)
        scsi (driver not attached)
            disk (driver not attached)
            tape (driver not attached)
    pci, instance #1
        SUNW,qlc, instance #0
            fp (driver not attached)
                disk (driver not attached)
            fp, instance #1
                ssd, instance #1
                ssd, instance #0 (driver not attached)
                ssd, instance #2 (driver not attached)
                ssd, instance #3 (driver not attached)
                ssd, instance #4 (driver not attached)
                ssd, instance #5 (driver not attached)
                ssd, instance #6 (driver not attached)
    upa, instance #0
        SUNW,ffb, instance #0 (driver not attached)
    ppm, instance #0
    pseudo, instance #0</screen><para>The following <command>sysdef</command> output
is displayed from an x86 based system. </para><screen># <userinput>sysdef</userinput>
* Hostid
*
  29f10b4d
*
* i86pc Configuration
*
*
* Devices
*
+boot (driver not attached)
memory (driver not attached)
aliases (driver not attached)
chosen (driver not attached)
i86pc-memory (driver not attached)
i86pc-mmu (driver not attached)
openprom (driver not attached)
options, instance #0
packages (driver not attached)
delayed-writes (driver not attached)
itu-props (driver not attached)
isa, instance #0
	motherboard (driver not attached)
	pnpADP,1542, instance #0
	asy, instance #0
	asy, instance #1
	lp, instance #0 (driver not attached)
	fdc, instance #0
		fd, instance #0
		fd, instance #1 (driver not attached)
	kd (driver not attached)
	kdmouse (driver not attached)
.
.
.</screen>
</example>
</task>
</sect2>
</sect1><sect1 id="devconfig-6"><title>Adding a Peripheral Device to a System</title><para>Adding a new peripheral device that is not-pluggable usually involves
the following:</para><itemizedlist><listitem><para>Shutting down the system</para>
</listitem><listitem><para>Connecting the device to the system</para>
</listitem><listitem><para>Rebooting the system</para>
</listitem>
</itemizedlist><para>Use <olink targetptr="devconfig-3" remap="internal">How to Add a Peripheral Device</olink> to
add the following devices that are not hot-pluggable to a system:</para><itemizedlist><listitem><para>CD-ROM</para>
</listitem><listitem><para>Secondary disk drive</para>
</listitem><listitem><para>Tape drive</para>
</listitem><listitem><para>SBUS card</para>
</listitem>
</itemizedlist><para>In some cases, you might have to add a third-party device driver to
support the new device.</para><para>For information on hot-plugging devices, see <olink targetptr="devconfig2-1" remap="internal">Chapter&nbsp;6, Dynamically Configuring Devices (Tasks)</olink>.</para><task id="devconfig-3"><title>How to Add a Peripheral Device</title><procedure><step id="devconfig-step-1"><para>Become superuser.</para>
</step><step performance="optional" id="devconfig-step-2"><para>If you need to add
a device driver to support the device, complete the procedure <olink targetptr="devconfig-18" remap="internal">How to Add a Device Driver</olink>.</para>
</step><step id="devconfig-step-4"><para>Shut down the system.</para><screen># <userinput>shutdown -i0 -g30 -y</userinput></screen><variablelist><varlistentry><term><command>-i0</command></term><listitem><para>Brings the system to the 0 init state, which is the appropriate
state for turning the system power off for adding and removing devices.</para>
</listitem>
</varlistentry><varlistentry><term><command>-g30</command></term><listitem><para>Shuts the system down in 30 seconds. The default is 60 seconds.</para>
</listitem>
</varlistentry><varlistentry><term><command>-y</command></term><listitem><para>Continues the system shutdown without user intervention. Otherwise,
you are prompted to continue the shutdown process.</para>
</listitem>
</varlistentry>
</variablelist>
</step><step id="devconfig-step-5"><para>Select one of the following to turn off
power to the system after it is shut down:</para><itemizedlist><listitem><para>For SPARC platforms, it is safe to turn off power if the <literal>ok</literal> prompt is displayed.</para>
</listitem><listitem><para>For x86 platforms, it is safe to turn off power if the <literal>type any key to continue</literal> prompt is displayed.</para>
</listitem>
</itemizedlist>
</step><step id="devconfig-step-70"><para>Turn off power to all peripheral devices.</para><para>For the location of power switches on any peripheral devices, refer
to the hardware installation guides that accompany your peripheral devices.</para>
</step><step id="devconfig-step-7"><para>Install the peripheral device, making sure
that the device you are adding has a different target number than the other
devices on the system.</para><para>Often, a small switch is located at the
back of the disk for selecting the target number.</para><para>Refer to the
hardware installation guide that accompanies the peripheral device for information
on installing and connecting the device.</para>
</step><step id="devconfig-step-8"><para>Turn on the power to the system.</para><para>The
system boots to multiuser mode, and the login prompt is displayed.</para>
</step><step id="devconfig-step-9"><para>Verify that the peripheral device has been
added by attempting to access the device.</para><para>For information on accessing
the device, see <olink targetptr="devaccess-90138" remap="internal">Accessing Devices</olink>.</para>
</step>
</procedure>
</task><task id="devconfig-18"><title>How to Add a Device Driver</title><tasksummary><para>This procedure assumes that the device has already been added to the
system. If not, see <olink targetptr="devconfig-2" remap="internal">What You Need for Unsupported
Devices</olink>. </para>
</tasksummary><procedure><step id="devconfig-step-10"><para>Become superuser.</para>
</step><step id="devconfig-step-11"><para>Place the tape, diskette, or CD-ROM into
the drive.</para>
</step><step id="devconfig-step-12"><para>Install the driver.</para><screen># <userinput>pkgadd</userinput> [<option>d</option>] <replaceable>device</replaceable> <replaceable>package-name</replaceable></screen><variablelist><varlistentry><term><option>d</option> <replaceable>device</replaceable></term><listitem><para>Identifies the device path name that contains the package.</para>
</listitem>
</varlistentry><varlistentry><term><replaceable>package-name</replaceable></term><listitem><para>Identifies the package name that contains the device driver.</para>
</listitem>
</varlistentry>
</variablelist>
</step><step id="devconfig-step-13"><para>Verify that the package has been added
correctly.</para><screen># <userinput>pkgchk</userinput> <replaceable>package-name</replaceable>
#</screen><para>The system prompt returns with no
response if the package is installed correctly. </para>
</step>
</procedure><example id="fncqf"><title>Adding a Device Driver</title><para>The following example shows how to install and verify a package called <literal>XYZdrv</literal>. </para><screen># <userinput>pkgadd XYZdrv</userinput>
(<replaceable>licensing messages displayed</replaceable>)
.
.
.
Installing XYZ Company driver as &lt;XYZdrv>
.
.
.
Installation of &lt;XYZdrv> was successful.
# <userinput>pkgchk XYZdrv</userinput>
#</screen>
</example>
</task>
</sect1><sect1 id="devaccess-90138"><title>Accessing Devices</title><para>You need to know how to specify device names when
using commands to manage disks, file systems, and other devices. In most cases,
you can use logical device names to represent devices that are connected to
the system. Both logical and physical device names are represented on the
system by logical and physical device files.</para><sect2 id="devaccess-1"><title>How Device Information Is Created</title><para>When a system is booted for the first time, a device hierarchy is created
to represent all the devices connected to the system. The kernel uses the
device hierarchy information to associate drivers with their appropriate devices.
The kernel also provides a set of pointers to the drivers that perform specific
operations.</para>
</sect2><sect2 id="devaccess-12"><title>How Devices Are Managed</title><para>The <literal>devfs</literal> file system manages the <filename>/devices</filename> directory,
which is the name space of all devices on the system. This directory represents
the <emphasis>physical</emphasis> devices that consists of actual bus and
device addresses.</para><para>The <literal>dev</literal> file system manages the <filename>/dev</filename> directory,
which is the name space of <emphasis>logical</emphasis> device names. </para><para>By default, the <command>devfsadm</command> command attempts to load
every driver in the system and attach to all possible device instances. Then, <command>devfsadm</command> creates the device files in the <filename>/devices</filename> directory
and the logical links in the <filename>/dev</filename> directory. The <command>devfsadm</command> command also maintains the <filename>path_to_inst</filename> instance
database.  </para><para>Updates to the <filename>/dev</filename> and <filename>/devices</filename> directories
in response to dynamic reconfiguration events or file system accesses are
handled by <command>devfsadmd</command>, the daemon version of the <command>devfsadm</command> command. This daemon is started by the service management facility
when a system is booted.</para><para>Because the <literal>devfsadmd</literal> daemon automatically detects
device configuration changes generated by any reconfiguration event, there
is no need to run this command interactively.</para><para>For more information, see the following references:</para><itemizedlist><listitem><para><olink targetdoc="refman1m" targetptr="devfsadm-1m" remap="external"><citerefentry><refentrytitle>devfsadm</refentrytitle><manvolnum>1M</manvolnum></citerefentry></olink></para>
</listitem><listitem><para>dev(7FS)</para>
</listitem><listitem><para><olink targetdoc="refman7" targetptr="devfs-7fs" remap="external"><citerefentry><refentrytitle>devfs</refentrytitle><manvolnum>7FS</manvolnum></citerefentry></olink></para>
</listitem><listitem><para><olink targetdoc="refman4" targetptr="path-to-inst-4" remap="external"><citerefentry><refentrytitle>path_to_inst</refentrytitle><manvolnum>4</manvolnum></citerefentry></olink></para>
</listitem>
</itemizedlist>
</sect2><sect2 id="devaccess-29390"><title>Device Naming Conventions</title><para>Devices are referenced in three ways in the Solaris OS.</para><itemizedlist><listitem><para><emphasis role="strong">Physical device name</emphasis> &ndash;
Represents the full device path name in the device information hierarchy.
The physical device name is created by when the device is first added to the
system. Physical device files are found in the <filename>/devices</filename> directory.</para>
</listitem><listitem><para><emphasis role="strong">Instance name</emphasis> &ndash; Represents
the kernel's abbreviation name for every possible device on the system. For
example, <filename>sd0</filename> and <filename>sd1</filename> represent the
instance names of two disk devices. Instance names are mapped in the <filename>/etc/path_to_inst</filename> file. </para>
</listitem><listitem><para><emphasis role="strong">Logical device name</emphasis> &ndash;
The logical device name is created by when the device is first added to the
system. Logical device names are used with most file system commands to refer
to devices. For a list of file commands that use logical device names, see <olink targetptr="devaccess-61252" remap="internal">Table&nbsp;5&ndash;3</olink>. Logical device files
in the <filename>/dev</filename> directory are symbolically linked to physical
device files in the <filename>/devices</filename> directory. </para>
</listitem>
</itemizedlist><para>The preceding device name information is displayed with the following
commands:</para><itemizedlist><listitem><para><command>dmesg</command></para>
</listitem><listitem><para><command>format</command></para>
</listitem><listitem><para><command>sysdef</command></para>
</listitem><listitem><para><command>prtconf</command></para>
</listitem>
</itemizedlist>
</sect2><sect2 id="devaccess-17704"><title>Logical Disk Device Names</title><para>Logical device names are used to access disk devices when you perform
the following tasks:</para><itemizedlist><listitem><para>Add a new disk to the system.</para>
</listitem><listitem><para>Move a disk from one system to another system.</para>
</listitem><listitem><para>Access or mount a file system residing on a local disk.</para>
</listitem><listitem><para>Back up a local file system.</para>
</listitem>
</itemizedlist><para>Many administration commands take arguments that refer to a disk slice
or file system.</para><para>Refer to a disk device by specifying the subdirectory to which
it is symbolically linked, either <filename>/dev/dsk</filename> or <filename>/dev/rdsk</filename>, followed by a string identifying the particular controller, disk,
and slice.  </para><figure id="devaccess-fig-13"><title>Description of Logical Device Names</title><mediaobject><imageobject><imagedata entityref="fig2091.epsi" width="100"/>
</imageobject><textobject><simpara>Diagram of logical device name components: raw disk device
directory, logical controller, physical bus target, drive, and slice or fdisk
partition.</simpara>
</textobject>
</mediaobject>
</figure><sect3 id="devaccess-2"><title>Specifying the Disk Subdirectory</title><para>Disk and file administration commands require the use of either a <emphasis>raw</emphasis> (or <emphasis>character</emphasis>) device interface, or a <emphasis>block</emphasis> device interface. The distinction is made by how data is
read from the device.</para><para>Raw device interfaces transfer only small amounts of data at a time.
Block device interfaces include a buffer from which large blocks of data are
read at once.</para><para>Different commands require different interfaces:</para><itemizedlist><listitem><para>When a command requires the raw device interface, specify
the <filename>/dev/rdsk</filename> subdirectory. (The &ldquo;r&rdquo; in <filename>rdsk</filename> stands for &ldquo;raw.&rdquo;)</para>
</listitem><listitem><para>When a command requires the block device interface, specify
the <filename>/dev/dsk</filename> subdirectory.</para>
</listitem><listitem><para>When you are not sure whether a command requires use of <filename>/dev/dsk</filename> or <filename>/dev/rdsk</filename>, check the man page
for that command.</para>
</listitem>
</itemizedlist><para>The following table
shows which interface is required for some commonly used disk and file system
commands.</para><table frame="topbot" id="devaccess-61252"><title>Device Interface Type Required
by Some Frequently Used Commands</title><tgroup cols="3" colsep="0" rowsep="0"><colspec colname="column1" colwidth="72*"/><colspec colname="column2" colwidth="72*"/><colspec colname="column3" colwidth="216*"/><thead><row rowsep="1"><entry><para>Command Reference</para>
</entry><entry><para>Interface Type</para>
</entry><entry><para>Example of Use</para>
</entry>
</row>
</thead><tbody><row><entry><para><olink targetdoc="refman1m" targetptr="df-1m" remap="external"><citerefentry><refentrytitle>df</refentrytitle><manvolnum>1M</manvolnum></citerefentry></olink> </para>
</entry><entry><para>Block</para>
</entry><entry><para><command>df /dev/dsk/c0t3d0s6</command></para>
</entry>
</row><row><entry><para><olink targetdoc="refman1m" targetptr="fsck-1m" remap="external"><citerefentry><refentrytitle>fsck</refentrytitle><manvolnum>1M</manvolnum></citerefentry></olink> </para>
</entry><entry><para>Raw</para>
</entry><entry><para><command>fsck -p /dev/rdsk/c0t0d0s0</command></para>
</entry>
</row><row><entry><para><olink targetdoc="refman1m" targetptr="mount-1m" remap="external"><citerefentry><refentrytitle>mount</refentrytitle><manvolnum>1M</manvolnum></citerefentry></olink> </para>
</entry><entry><para>Block</para>
</entry><entry><para><command>mount /dev/dsk/c1t0d0s7 /export/home</command></para>
</entry>
</row><row><entry><para><olink targetdoc="refman1m" targetptr="newfs-1m" remap="external"><citerefentry><refentrytitle>newfs</refentrytitle><manvolnum>1M</manvolnum></citerefentry></olink> </para>
</entry><entry><para>Raw</para>
</entry><entry><para><command>newfs /dev/rdsk/c0t0d1s1</command></para>
</entry>
</row><row><entry><para><olink targetdoc="refman1m" targetptr="prtvtoc-1m" remap="external"><citerefentry><refentrytitle>prtvtoc</refentrytitle><manvolnum>1M</manvolnum></citerefentry></olink> </para>
</entry><entry><para>Raw</para>
</entry><entry><para><command>prtvtoc /dev/rdsk/c0t0d0s2</command></para>
</entry>
</row>
</tbody>
</tgroup>
</table>
</sect3><sect3 id="devaccess-3"><title>Direct and Bus-Oriented Controllers</title><para>You might access disk partitions or slices differently depending upon
whether the disk device is connected to a direct or bus-oriented controller.
Generally, direct controllers do not include a <emphasis>target</emphasis> identifier
in the logical device name.</para><para>The conventions for both types of controllers are explained in the following
subsections.</para><note><para>Controller numbers are assigned automatically during system initialization.
The numbers are strictly logical and imply no direct mapping to physical controllers.</para>
</note>
</sect3><sect3 id="devaccess-5" arch="x86"><title>Disks With Direct Controllers</title><para>To specify a slice on a disk with an IDE controller on an x86 based
system, follow the naming convention shown in the following figure.</para><figure id="devaccess-fig-15" arch="x86"><title>Disks With Direct Controllers</title><mediaobject><imageobject><imagedata entityref="fig2095.epsi"/>
</imageobject><textobject><simpara>Diagram of device name for disks with direct controllers
that includes logical controller, drive, and slice or fdisk partition.</simpara>
</textobject>
</mediaobject>
</figure><para>To indicate the entire Solaris <literal>fdisk</literal> partition, specify
slice 2 (<filename>s2</filename>). </para><para>If you have only one controller on your system, <replaceable>w</replaceable> is
usually 0.</para>
</sect3><sect3 id="devaccess-7"><title>Disks With Bus-Oriented Controllers</title><para>To specify a slice on a disk with a bus-oriented controller, SCSI for
instance, follow the naming convention shown in the following figure. </para><figure id="devaccess-fig-18"><title>Disks With Bus-Oriented Controllers</title><mediaobject><imageobject><imagedata entityref="fig2093.epsi"/>
</imageobject><textobject><simpara>Device name for disks with bus-oriented controllers that
includes logical controller, physical bus target, drive, and slice or fdisk
partition.</simpara>
</textobject>
</mediaobject>
</figure><para>On a SPARC based system with directly connected disks such as the IDE
disks on an <trademark class="registered">UltraSPARC</trademark> system, the
naming convention is the same as that for systems with bus-oriented controllers. </para><para>If you have only one controller on your system, <emphasis>w</emphasis> is
usually 0.</para><para>For SCSI controllers, <replaceable>x</replaceable> is the target address
set by the switch on the back of the unit, and <replaceable>y</replaceable> is
the logical unit number (LUN) of the drive attached to the target. If the
disk has an embedded controller, <replaceable>y</replaceable> is usually 0.
For more information about SCSI addressing on SPARC based systems, see the <trademark class="service">SunSolve</trademark> Info Doc 48041 and <olink targetdoc="refman9s" targetptr="scsi-address-9s" remap="external"><citerefentry><refentrytitle>scsi_address</refentrytitle><manvolnum>9S</manvolnum></citerefentry></olink>.</para><para>To indicate the whole disk, specify slice 2 (<filename>s2</filename>).</para>
</sect3>
</sect2><sect2 id="devaccess-62306"><title>Logical Tape Device Names</title><para>Logical tape device files are found in the <filename>/dev/rmt/*</filename> directory
as symbolic links from the <filename>/devices</filename> directory.</para><figure id="devaccess-fig-17"><title>Logical Tape Device Names</title><mediaobject><imageobject><imagedata entityref="fig2094.epsi"/>
</imageobject><textobject><simpara>Diagram of logical tape device name that includes magnetic
tape device directory, drive, and the optional density values.</simpara>
</textobject>
</mediaobject>
</figure><para>The first tape device connected to the system is 0 (<filename>/dev/rmt/0</filename>).
Tape density values (<filename>l</filename>, <filename>m</filename>, <filename>h</filename>, <filename>c</filename>, and <filename>u</filename>) are described in <olink targetptr="bkuptapedevice-42512" remap="internal">Chapter&nbsp;29, Managing Tape Drives (Tasks)</olink>.</para>
</sect2><sect2 id="devaccess-15474"><title>Logical Removable Media Device Names</title><para>Since removable media is managed by removable media management services,
the logical device name is usually not used unless you want to mount the media
manually.</para><para>The logical device name that represents the removable media devices
on a system are described in <olink targetptr="medaccess-29267" remap="internal">Chapter&nbsp;3,
Accessing Removable Media (Tasks)</olink>. </para>
</sect2>
</sect1>
</chapter>