My desktop was installed solaris before zfs integrated. I upgraded it to build 93 via live upgrade first. Then, I want it run on zfs root. The following is the detail steps I migrate it to zfs. Not difficult, not very straightforward.
# lustatus
Boot Environment Is Active Active Can Copy Name Complete Now On Reboot Delete Status -------------------------- -------- ------ --------- ------ ----------
1 yes yes yes no -
2 yes no no yes -
# lufslist 2
boot environment name: 2
Filesystem fstype device size Mounted on Mount Options
----------------------- -------- ------------ ------------------- --------------
/dev/dsk/c1t0d0s1 swap 2640314880 - -
/dev/dsk/c1t0d0s3 ufs 19732446720 / -
/dev/dsk/c1t0d0s7 ufs 157086397440 /export/home -
# lufslist 1
boot environment name: 1
This boot environment is currently active.
This boot environment will be active on next system boot.
Filesystem fstype device size Mounted on Mount Options
----------------------- -------- ------------ ------------------- --------------
/dev/dsk/c1t0d0s1 swap 2640314880 - -
/dev/dsk/c1t0d0s0 ufs 19740672000 / -
/dev/dsk/c1t0d0s7 ufs 157086397440 /export/home -
# ludelete 2
System has findroot enabled GRUB
Checking if last BE on any disk...
BE <2> is not the last BE on any disk.
Updating GRUB menu default setting
Changing GRUB menu default setting to <0>
File </boot/grub/menu.lst> propagation successful
File </etc/lu/GRUB_backup_menu> propagation successful
Successfully deleted entry from GRUB menu
Determining the devices to be marked free.
Updating boot environment configuration database.
Updating boot environment description database on all BEs.
Updating all boot environment configuration databases.
Boot environment <2> deleted.
# zpool create mpool c1t0d0s3
invalid vdev specification
use '-f' to override the following errors:
/dev/dsk/c1t0d0s3 overlaps with /dev/dsk/c1t0d0s2
# zpool create -f mpool c1t0d0s3
# lucreate -c 1 -n 2 -p mpool
Checking GRUB menu...
System has findroot enabled GRUB
Analyzing system configuration.
Comparing source boot environment <1> file systems with the file system(s)
you specified for the new boot environment. Determining which file systems
should be in the new boot environment.
Updating boot environment description database on all BEs.
Updating system configuration files.
The device </dev/dsk/c1t0d0s3> is not a root device for any boot environment; cannot get BE ID.
Creating configuration for boot environment <2>.
Source boot environment is <1>.
Creating boot environment <2>.
Creating file systems on boot environment <2>.
Creating <zfs> file system for </> in zone <global> on <mpool/ROOT/2>.
Populating file systems on boot environment <2>.
Checking selection integrity.
Integrity check OK.
Populating contents of mount point </>.
Copying.
# luupgrade -u -n 2 -s /net/bounty/export/nv/solarisdvd.nvx_dvd/101a
# luactivate 2
# init 6
After reboot, it goes to boot environment 2 and run on a zfs root.