Sun Microsystems, Inc.  Sun System Handbook - ISO 4.1 October 2012 Internal/Partner Edition
   Home | Current Systems | Former STK Products | EOL Systems | Components | General Info | Search | Feedback

Asset ID: 1-72-1010938.1
Update Date:2012-07-30
Keywords:

Solution Type  Problem Resolution Sure

Solution  1010938.1 :   Sun Fire[TM] V20Z/V40Z Storage Device Paths  


Related Items
  • Sun Fire V20z Server
  •  
  • Sun Fire V40z Server
  •  
Related Categories
  • PLA-Support>Sun Systems>x64>Server>SN-x64: SERVER 64bit
  •  
  • .Old GCS Categories>Sun Microsystems>Servers>x64 Servers
  •  

PreviouslyPublishedAs
215089


Applies to:

Sun Fire V20z Server
Sun Fire V40z Server
All Platforms

Symptoms

After a motherboard replacement on Sun Fire[TM] V20Z/V40Z, Solaris[TM] may not boot from the original disks.

Cause

The reason is that the Sun Fire V20Z/V40Z motherboards can have different PCI controller ID's programmed in the device tree and this produces following output and causes a boot failure:

Initializing system
Please wait...
<<< Current Boot Parameters >>>
Boot path: /pci@0,0/pci1022,7450@a/pci17c2,10@4/sd@0,0:a
Boot args:
Type b [file-name] [boot-flags] <ENTER> to boot with options
or i <ENTER> to enter boot interpreter
or <ENTER> to boot with defaults
<<< timeout in 5 seconds >>>
Select (b)oot or (i)nterpreter: b -sv
SunOS Release 5.9 Version Generic_117172-12 32-bit
Copyright 1983-2003 Sun Microsystems, Inc. All rights reserved.
Use is subject to license terms.
mem = 1047592K (0x3ff0a000)
avail mem = 1035657216
ACPI detected: 2 13 0 0
root nexus = i86pc
pci0 at root: space 0 offset 0
pci0 is /pci@0,0
ATAPI device at targ 0, lun 0 lastlun 0x0
model CD-224E, stat 50, err 0
cfg 0x85c0, cyl 0, hd 0, sec/trk 0
mult1 0x0, mult2 0x0, dwcap 0x0, cap 0x2f00
piomode 0x200, dmamode 0x200, advpiomode 0x3
minpio 120, minpioflow 120
valid 0x6, dwdma 0x7, majver 0x0
PCI-device: ide@1, ata0
ata0 is /pci@0,0/pci-ide@7,1/ide@1
PCI-device: pci1022,7450@a, pci_pci0
pci_pci0 is /pci@0,0/pci1022,7450@a
/pci@0,0/pci1022,7450@a/pci17c2,10@4 (mpt1):
Rev. 8 LSI, Inc. 1030 found.
/pci@0,0/pci1022,7450@a/pci17c2,10@4 (mpt1):
mpt1 supports power management.
/pci@0,0/pci1022,7450@a/pci17c2,10@4 (mpt1):
mpt1 Firmware version v1.3.24.0
/pci@0,0/pci1022,7450@a/pci17c2,10@4 (mpt1):
mpt1: IOC Operational.
PCI-device: pci17c2,10@4, mpt1
mpt1 is /pci@0,0/pci1022,7450@a/pci17c2,10@4
sd0 at ata0: target 0 lun 0
sd0 is /pci@0,0/pci-ide@7,1/ide@1/sd@0,0
sd17 at mpt1: target 0 lun 0
sd17 is /pci@0,0/pci1022,7450@a/pci17c2,10@4/sd@0,0
<DEFAULT cyl 34934 alt 2 hd 16 sec 128>
PCI-device: pci1022,7460@6, pci_pci1
pci_pci1 is /pci@0,0/pci1022,7460@6
PCI-device: pci1022,7450@b, pci_pci2
pci_pci2 is /pci@0,0/pci1022,7450@b
root on /pci@0,0/pci1022,7450@a/pci17c2,10@4/sd@0,0:a fstype ufs
vgatext: version 1.19 (01/07/17)
isa0 at root
8042 device: keyboard@0, kb8042 # 0
kb80420 is /isa/i8042@1,60/keyboard@0
ISA-device: asy0
asy0 is /isa/asy@1,3f8
PCI-device: pci17c2,10@0, usba10_ohci0
usba10_ohci0 is /pci@0,0/pci1022,7460@6/pci17c2,10@0
PCI-device: pci17c2,10@0,1, usba10_ohci1
usba10_ohci1 is /pci@0,0/pci1022,7460@6/pci17c2,10@0,1
ifconfig: plumb: bge0: no such interface
moving addresses from failed IPv4 interfaces: bge0 (couldn't move, no
alternative interface).
Hostname: web-1.app.com
mount: /dev/dsk/c1t0d0s3 no such device
mount: operation not applicable to FSType pcfs
/sbin/rcS: /usr/sbin/devfsadm: not found
/sbin/rcS: /usr/bin/loadkeys: not found
/etc/rcS.d/S35svm.init: rm: not found
/etc/rcS.d/S35svm.init: grep: not found
WARNING: /proc could not be mounted
/sbin/swapadd: expr: not found
/sbin/swapadd: swap: not found
WARNING - /usr/sbin/fsck not found. Most likely the
mount of /usr failed or the /usr filesystem is badly
damaged. The system is being halted. Either reinstall
the system or boot with the -b option in an attempt
to recover.
syncing file systems... done
Type any key to continue

Solution

The issue is that some motherboards come with LSI SCSI controller coded as
/pci@0,0/pci1022,7450@a/pci17c2,10@4/ in the device tree but others come with /pci@0,0/pci1022,7450@a/pci1000,1010@4/

According to the external PCI ID's website http://pci-ids.ucw.cz/read/PC/17c2 ,ID 17c2 means the Newisys vendor and http://pci-ids.ucw.cz/read/PC/1000 , ID 1000 means the LSI vendor.
Both are correct however Newisys manufactured the motherboard and LSI manufactured the controller.

If Solaris is installed on the platform with LSI vendor name coded in the device tree then the link to /dev/dsk/c1t0d0s0 for instance will look like /pci@0,0/pci1022,7450@a/pci1000,1010@4/sd@0,0:a.

While the same link on the box with Newisys vendor name coded in will look like /pci@0,0/pci1022,7450@a/pci17c2,10@4/sd@0,0:a.

The procedure to resolve this situation is:

1. Boot Solaris CD/DVD-ROM media.

2. In a terminal window, mount the root partition of your hard disk:
# mount /dev/dsk/c1t0d0s0 /a
(Example shown may not be your boot disk. Use appropriate boot device in this instance)

2a. If /usr in a separate partition then mount it too as:
# mount /dev/dsk/c1t0d0s3 /a/usr
(Example shown may not be your disk device. Use appropriate device in this instance)

3. Remove all old links:
# rm /a/dev/cfg/c1
# rm /a/dev/dsk/c1*
# rm /a/dev/rdsk/c1*

4. Rebuild device tree:
# chroot /a /usr/sbin/devfsadm -v

5. Write down the hardware path for root:
# ls -l /dev/dsk/c1t0d0s0 (device used as an example)

6. Edit bootenv.rc file:
# vi /a/boot/solaris/bootenv.rc
(Replace old boot path with new one and save bootenv.rc)

7. Reboot system:
# init 6



***Checked for relevance on 25-Jan-2012***
Previously Published As 80750


Attachments
This solution has no attachment
  Copyright © 2012 Sun Microsystems, Inc.  All rights reserved.
 Feedback