Solaris 10 installation fails with disk drive does not have a valid label.

When installing Solaris 10 I received this error.

This disk (c1t50060E800429C458d7) cannot be used to install
Solaris software.

This disk drive does not have a valid label. If you want to use
this disk for the install, exit the Solaris Interactive
Installation program, use the format(1M) command from the
command line to label the disk, and type ‘install-solaris’ to
restart the installation program.

I exited out of the installation and at the command prompt ran the format command. I then proceeded to label the drive, in this case it was a LUN (disk) sitting on a SAN. The LUN was connected via two fiber channel cards. I then ran the install-solaris command to continue with the installation, but ran into the same issue again. I decided to format the drive to see if it would help. I initiated the format command, the drive was 350G in size, I left it running over night and when I checked on the progress the next day it was still not completed. I killed the format of the drive and decided to call Sun suppport. While I was waiting for a call back I decided to check the internet for help. After much searching I finally found only one article, but thankfully it was the right one. It seems that there was a bug with the OS. If the disk drive was previously in a zpool with EFI label, then this would result in this error during installation. The LUN drive was indeed part of a zpool, I have been testing Solaris 10 zones on this drive with zpool and ZFS file system.

I decided to boot into Solaris, the version that was still installed on the drive and proceeded to delete the zpool and zones. But the drive failed again during the installation. The correct resolution was to run the format command with the -e option and then label the drive. The advance format mode allows you to change the EFI label to SMI. This should then allow you to install Solaris 10 on the drive.

Below is the screen shot for the format -e command.

# format -e
Searching for disks…done

AVAILABLE DISK SELECTIONS:
0. c0t0d0
/pci@0,600000/pci@0/pci@0/scsi@0/sd@0,0
1. c0t1d0
/pci@0,600000/pci@0/pci@0/scsi@0/sd@1,0
2. c1t50060E800429C458d7
/pci@0,600000/pci@0/pci@8/SUNW,qlc@0/fp@0,0/ssd@w50060e800429c458,7
3. c2t50060E800429C448d7
/pci@1,700000/pci@0/pci@0/SUNW,qlc@0/fp@0,0/ssd@w50060e800429c448,7
Specify disk (enter its number): 2
selecting c1t50060E800429C458d7
[disk formatted]

Note: Disk 2 (c1t50060E800429C458d7) and 3 (c2t50060E800429C448d7) are the same LUN on the Hitachi SAN. Because there are two paths to the LUN via two fiber channel interfaces, the same drive shows up twice. After Solaris 10 has been installed on disk 2, you can then enable multipath from the console prompt of the OS. You must be logged in as superuser to do this.

FORMAT MENU:
disk – select a disk
type – select (define) a disk type
partition – select (define) a partition table
current – describe the current disk
format – format and analyze the disk
repair – repair a defective sector
label – write label to the disk
analyze – surface analysis
defect – defect list management
backup – search for backup labels
verify – read and display labels
inquiry – show vendor, product and revision
scsi – independent SCSI mode selects
cache – enable, disable or query SCSI disk cache
volname – set 8-character volume name
! – execute , then return
quit
format> label
[0] SMI Label
[1] EFI Label
Specify Label type[1]: 0
Auto configuration via format.dat[no]? y

Geometry: 15 heads, 746 sectors 65535 cylinders result in 733336650 out of 73401
7536 blocks.
Do you want to modify the device geometry[no]? n

format> verify

Primary label contents:

Volume name = < >
ascii name =
pcyl = 65535
ncyl = 65533
acyl = 2
nhead = 15
nsect = 746
Part Tag Flag Cylinders Size Blocks
0 root wm 0 0 (0/0/0) 0
1 swap wu 0 0 (0/0/0) 0
2 backup wu 0 – 65532 349.67GB (65533/0/0) 733314270
3 unassigned wm 0 0 (0/0/0) 0
4 unassigned wm 0 0 (0/0/0) 0
5 unassigned wm 0 0 (0/0/0) 0
6 usr wm 0 – 65532 349.67GB (65533/0/0) 733314270
7 unassigned wm 0 0 (0/0/0) 0

format> quit

You can now continue with the installation of Solaris 10 again by running the command install-solaris.

# install-solaris

About Andrew Lin

Hi, I have always wanted to creat a blog site but never had the time. I have been working in Information Technology for over 15 years. I specialize mainly in networks and server technologies and dabble a little with the programming aspects. Andrew Lin

View all posts by Andrew Lin →