OpenSolaris This article gathers some notes concerning hardware issues for installation of Solaris. When not specified, the command should work for both Solaris 10 and OpenSolaris.

Detecting hardware

To scan PCI devices, do scanpci (as root).

# /usr/X11/bin/scanpci -v
or
# prtconf -v -p
or 
# prtdiag

To list connected hardware

cfgadm -al

To get status of hardware

iostat -En

To detect new hardware

touch /reconfigure

Adding a hard disk

When adding a new hard disks, the following tasks should be done:

  1. connect the hard disk and detect it (touch /reconfigure). It is detected when new entries in /dev/rdsk appear, such as c0t1d0*. This can also be confirmed by the format command, which displays all visible disks.
  2. make sure the disk is formatted using the format command: the message “disk formatted” should be displayed
  3. partition the hard disk as desired, using the format command. To list partitions, use the format command. The flag wm means “writable and mountable”, wu “writable but unmountable”, rm “read-only and mountable”.
  4. label the disk once partitions are correct. Use the format command. Then, the prtvtoc command should display the correct layout of partitions.
  5. create a new file system, using newfs (newfs /dev/rdsk/c0t1d0s0). This creates a UFS file system.
  6. mount it ! (using mount) (mount /dev/dsk/c0t1d0s0 /backup)

Network card installation

My network card:

pci bus 0x0002 cardnum 0x00 function 0x00: vendor 0x11ab device 0x4364
 Marvell Technology Group Ltd.  Device unknown
 CardVendor 0x105b card 0x0e0a (Card unknown)
  STATUS    0x0010  COMMAND 0x0047
  CLASS     0x02 0x00 0x00  REVISION 0x20
  BIST      0x00  HEADER 0x00  LATENCY 0x00  CACHE 0x01
  BASE0     0x00000000fddfc004  addr 0x00000000fddfc000  MEM 64BIT
  BASE2     0x0000ee01  addr 0x0000ee00  I/O
  MAX_LAT   0x00  MIN_GNT 0x00  INT_PIN 0x01  INT_LINE 0x0a
  BYTE_0    0x00  BYTE_1  0x00  BYTE_2  0xf0  BYTE_3  0x01

Download the Solaris package (I tried version 8.19.2.3), gunzip it, untar. Finally, do pkgadd -d . YUKONXsolx. Then, configure the network.

/etc/rcS.d/S50yukonx
/kernel/drv/amd64/yukonx
/kernel/drv/yukonx.conf
/usr/sbin/yukonx_vlan_config
/usr/share/man/man7d/yukonx.7d
[ verifying class <none> ]
[ verifying class <master> ]
## Executing postinstall script.
add_drv yukonx
starting network interfaces ...
yukonx0 started

My Firewire card:

pci bus 0x0003 cardnum 0x06 function 0x00: vendor 0x104c device 0x8024
 Texas Instruments TSB43AB23 IEEE-1394a-2000 Controller (PHY/Link)
 CardVendor 0x105b card 0x0e0a (Foxconn International, Inc., Card unknown)
  STATUS    0x0210  COMMAND 0x0006
  CLASS     0x0c 0x00 0x10  REVISION 0x00
  BIST      0x00  HEADER 0x00  LATENCY 0x40  CACHE 0x01
  BASE0     0xfdbff000  addr 0xfdbff000  MEM
  BASE1     0xfdbf8000  addr 0xfdbf8000  MEM
  MAX_LAT   0x04  MIN_GNT 0x02  INT_PIN 0x01  INT_LINE 0x0a

Sound card

My sound card:

pci bus 0x0000 cardnum 0x14 function 0x02: vendor 0x1002 device 0x4383
 ATI Technologies Inc SB600 Azalia
 CardVendor 0x105b card 0x0e0a (Foxconn International, Inc., Card unknown)
  STATUS    0x0410  COMMAND 0x0006
  CLASS     0x04 0x03 0x00  REVISION 0x00
  BIST      0x00  HEADER 0x00  LATENCY 0x40  CACHE 0x01
  BASE0     0x00000000fe024004  addr 0x00000000fe024000  MEM 64BIT
  MAX_LAT   0x00  MIN_GNT 0x00  INT_PIN 0x01  INT_LINE 0x0b
  BYTE_0    0x00  BYTE_1  0x00  BYTE_2  0x02  BYTE_3  0x00

On Solaris 10, I use the OSS driver oss-solaris-v4.1-rc2-i386.pkg. On OpenSolaris, the sound card is automatically recognized :-)

pkgadd -d oss-solaris-v4.1-rc2-i386.pkg
[...]
## Installing part 1 of 1.
/etc/oss/devices.list
/etc/oss <implied directory>
/etc/oss/version.dat
/kernel/drv/amd64/oss_hdaudio
/usr/bin/osstest
/usr/bin/ossxmix
/usr/include/oss/oss_userdev_exports.h
/usr/include/oss <implied directory>
/usr/include/sys/soundcard.h
/usr/man/man1/ossinfo.1
/usr/man/man7d/oss_hdaudio.7d
/usr/sbin/ossdetect
/usr/sbin/ossdevlinks
/usr/sbin/osslic
/usr/sbin/ossupdate
/usr/sbin/savemixer
/usr/sbin/soundoff
/usr/sbin/soundon
/usr/sbin/vmixctl
## Executing postinstall script.
Setting up Open Sound System....please wait
unloaded osscommon
can't unload the module: Device busy
add_drv -m '* 0666 root sys' osscore
add_drv -m '* 0666 root sys' -i '"pci1002,4383"' oss_hdaudio
devfsadm: driver failed to attach: oss_hdaudio
Warning: Driver (oss_hdaudio) successfully added to system but failed to attach
add_drv -m '* 0666 root sys' -i '"usbif,class1"' oss_usb
devfsadm: driver failed to attach: oss_usb
Warning: Driver (oss_usb) successfully added to system but failed to attach
add_drv -m '* 0666 root sys' oss_sadasupport
devfsadm: driver failed to attach: oss_sadasupport
Warning: Driver (oss_sadasupport) successfully added to system but failed to attach

Then reboot, and try /usr/bin/osstest and see which devices works correctly. Then, rename /dev/dsp:

ln -sf /dev/oss/oss_hdaudio0/pcm4 /dev/dsp

See Tips and tricks of OSS for more details.

Screen resolution

Show acceptable screen configurations (SPARC ONLY):

ffbconfig -prconf

Try a given resolution (SPARC ONLY):

ffbconfig -res xxyyz try

If ffbconfig fails to set the correct resolution (bug), use eeprom:

eeprom ouput-device=r1024x768x60

To set 24 bit mode:

ffbconfig -deflinear true

Misc commands

boot -m verbose -> to understand what's happening
boot cdrom -> to boot on CD-ROM !