This section provides information about new device management features in the Solaris release.
For a complete listing of new Solaris features and a description of Solaris releases, see Solaris Express Developer Edition What’s New.
Solaris Express Developer Edition 1/08: 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:
Solaris Express Developer Edition 1/08: This release introduces a new device retirement mechanism to isolate a device as faulty 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.
Critical devices are never retired. If you need to manually replace a retired device, use the fmadm repair command after the device replacement so that system knows that the device is replaced, in addition to the manual replacement steps.
The fmadm repair process is as follows:
Identify the faulted device with the fmadm faulty -a command.
# fmadm faulty STATE RESOURCE / UUID -------- --------------------------------------------------------------------- faulty <fmri>
Clear the fault by using the fmadm repair command.
# fmadm repair <fmri>
Run the fmadm faulty command again to be sure the fault is cleared.
# fmadm faulty -a STATE RESOURCE / UUID
For more information, see fmadm(1M).
A general message regarding device retirement is displayed on the console and written to the /var/adm/messages file so that you aware of a retired device. For example:
Aug 9 18:14 starbug genunix: [ID 751201 kern.notice] NOTICE: One or more I/O devices have been retired
You can use the prtconf command to identify specific retired devices. For example:
# 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 . . .
Solaris Express 10/06: The /dev name space supports multiple file system instances as needed. A global instance of the /dev file system is created automatically when the system is booted. Subsequent /dev 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 /dev instance is unmounted and unavailable.
In addition, device configuration is improved in the following ways:
Reconfiguration boot is eliminated – In previous Solaris releases, a reconfiguration boot was needed if you connected a device to a system that is powered off.
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.
For more information, see dev(7FS).
Zone device support is simplified – As described above, device support for Solaris zones is enhanced by providing specific instances of the /dev directory for non-global zones. In addition, zones are no longer dependent upon the devfsadm daemon for reconfiguration of devices within a zone.
Pseudo device creation is improved – In this Solaris release, the content of the /dev/pts directory is created on demand in the global /dev name space as well as a/dev instance when needed in a non-global zone. In addition, the ptys links are only visible in the global zone or the non-global zone from which they are allocated.
For more information, see grantpt(3C).
For more information about device configuration, see Managing Devices in the Solaris OS.
Solaris Express 4/06: 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.
In the previous Solaris Express 1/06 release, PCIe devices were only available on x86 systems.
The PCIe interconnect is an industry-standard, high-performance, serial I/O bus. For details on PCIe technology, go to the following site:
The PCIe software provides the following features in this Solaris release:
Support for extended PCIe configuration space
Support for PCIe baseline error handling and MSI interrupts
Modified IEEE-1275 properties for PCIe devices
PCIe hotplug support (both native and ACPI-based) by enhancing the cfgadm_pci component of the cfgadm command
ATTN Button usage based PCIe peripheral autoconfiguration
The administrative model for hotplugging PCIe peripherals is the same as for PCI peripherals, which uses the cfgadm command.
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.
For information about using the cfgadm command with PCIe peripherals, see PCI or PCIe Hot-Plugging With the cfgadm Command (Task Map).
Solaris Express 6/06: 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.
In addition, non-removable USB devices and 1394 mass storage devices can be accessed and labeled by using the format utility. However, you can override the new hotpluggable behavior of these devices by setting the remvalue to true in the /kernel/drv/scsa2usb.conf 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.
Solaris Express 1/06: This feature was undocumented previously.
The following utilities have been enhanced to detect when a specified device is in use:
mkfs and newfs
These enhancements mean that the above utilities might detect some of the following usage scenarios:
Device is part of a ZFS storage pool
Device is a dump or swap device
Mounted file system or an entry for the device exists in the /etc/vfstab file
Device is part of live upgrade configuration
Device is part of a Solaris Volume Manager configuration or Veritas Volume Manager configuration
For example, if you attempt to use the format utility to access an active device, you will see a message similar to the following:
# format . . . 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).
However, these utilities do not detect all scenarios in the same way. For example, you can use the newfs command to create a new file system on a device in a live upgrade configuration. You cannot use the newfs 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.