It's been a while, but with all those hints (thanks!) and the biosdev  
source I managed to understand that my bios is not doing EDD and  
biosdev resorts to trying to figure which disk maps to which as  
reported by the bios, by comparing the first block on the disk with  
the same as given through bios dev data.  If the first block is the  
same on all disks it fails,  making the fdisk info different on all  
disks helps the mapping process.

After making the fdisk info different, biosdev reported the boot  
device as being my "second" disk

0x81 /pci at 0,0/pci-ide at 8/ide at 0/cmdk at 0,0

but as mentioned elsewhere that's no good as lucreate is explicitly  
looking for 0x80.   Using the same workaround as mentioned in http:// 
www.opensolaris.org/jive/thread.jspa?messageID=38932 I finally had  
success and was able to lucreate and live upgrade.

But ... this really isn't quite straight forward, is it? ... trying  
to live upgrade again I now get a new error and lucreate refuses to  
run in a different way:

wicked# lustatus
Boot Environment           Is       Active Active    Can    Copy
Name                       Complete Now    On Reboot Delete Status
-------------------------- -------- ------ --------- ------ ----------
snv_40                     yes      yes    yes       no     -
wicked# lucreate -n snv_45 -m /:d30:ufs,preserve
Discovering physical storage devices
Discovering logical storage devices
Cross referencing storage devices with boot environment configurations
Determining types of file systems supported
Validating file system requests
The device name <d30> expands to device path </dev/md/dsk/d30>
...
Updating boot environment description database on all BEs.
Searching /dev for possible boot environment filesystem devices

ERROR: Mirror </dev/md/dsk/d30> submirror </dev/md/rdsk/d20> is not  
single disk stripe.
ERROR: Cannot determine boot device for Solaris Volume Manager  
metadevice</dev/md/dsk/d30>.
The only metadevices that support the root file system
are a stripe with only a single disk or a mirror on a single-disk  
stripe.

wicked# metastat -p d30
d30 -m /dev/md/rdsk/d20 1
d20 1 1 /dev/rdsk/c1d0s0

d20 used to a submirror of d40:

wicked% df /
/                  (/dev/md/dsk/d40   ):17274886 blocks  1184609 files
wicked% metastat -p d40
d40 -m /dev/md/rdsk/d10 1
d10 1 1 /dev/rdsk/c2d0s0
wicked%

Why does it claim that d30 is not a single-disk stripe? (and why did  
it work just fine before?)

Any chance the source to liveupgrade will be put out into the open,  
so I wouldn't have to dig in the dark with closed binaries trying to  
upgrade my otherwise open source system?

any hints in new directions are greatly appreciated.

- mo


Reply via email to