In with the new and out with the old

An appropriate title for my first blog as this is the ‘new’ me going forward and leaving the ‘old’ unblogger behind. I’m also starting an MBA course so will be blowing the cobwebs off my study brain and changing my life for the next year or so if I continue after that.

It’s also an appropriate title as I recently upgraded my home computer to run zfs root:
– I previously had 2 ufs slices and proceeded to use live upgrade to move between them when updating between editions of solaris community edition (also known as nevada).
– I had been meaning to do it for some time as it’s much quicker when copying (as it clones, think seconds rather than 50 minutes to copy 7GB) and is more robust with all that zfs goodness.

I just created a new zfs pool on the unused ufs liveupgrade slice, no need to re-format, mind you I did need to use the -f flag:

# zpool create rootpool c2d0s0
invalid vdev specification
use '-f' to override the following errors:
/dev/dsk/c2d0s0 contains a ufs filesystem.
# zpool create -f rootpool c2d0s0
Then create the boot environment:
# lucreate -c snv_98 -n snv_102 -p rootpool
Checking GRUB menu...
System has findroot enabled GRUB
Analyzing system configuration.
Comparing source boot environment  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  is not a root device for any boot environment; cannot get BE ID.
Creating configuration for boot environment .
Source boot environment is .
Creating boot environment .
Creating file systems on boot environment .
Creating  file system for  in zone  on .
Populating file systems on boot environment .
Checking selection integrity.
Integrity check OK.
Populating contents of mount point .
Creating shared file system mount points.
Creating compare databases for boot environment .
Creating compare database for file system .
Updating compare databases on boot environment .
Making boot environment  bootable.
Updating bootenv.rc on ABE .
File  propagation successful
Copied GRUB menu from PBE to ABE
No entry for BE  in GRUB menu
Population of boot environment  successful.
Creation of boot environment  successful.
Mount the iso for the upgrade and wait:
# lofiadm -a /export/home/ic140957/sol-nv-b102-x86-dvd.iso
# mount -r -F hsfs /dev/lofi/1 /mnt
# luupgrade -u -n snv_102 -s /mnt
System has findroot enabled GRUB
No entry for BE  in GRUB menu
Uncompressing miniroot
Copying failsafe kernel from media.
52155 blocks
miniroot filesystem is 
Mounting miniroot at 
Validating the contents of the media .
The media is a standard Solaris media.
The media contains an operating system upgrade image.
The media contains  version <11>.
Constructing upgrade profile to use.
Locating the operating system upgrade program.
Checking for existence of previously scheduled Live Upgrade requests.
Creating upgrade profile for BE .
Checking for GRUB menu on ABE .
Saving GRUB menu on ABE .
Checking for x86 boot partition on ABE.
Determining packages to install or upgrade for BE .
Performing the operating system upgrade of the BE .
CAUTION: Interrupting this process may leave the boot environment unstable
or unbootable.
Upgrading Solaris: 100% completed
Installation of the packages from this media is complete.
Restoring GRUB menu on ABE .
Adding operating system patches to the BE .
The operating system patch installation is complete.
ABE boot partition backing deleted.
PBE GRUB has no capability information.
PBE GRUB has no versioning information.
ABE GRUB is newer than PBE GRUB. Updating GRUB.
GRUB update was successful.
Configuring failsafe for system.
Failsafe configuration is complete.
INFORMATION: The file  on boot
environment  contains a log of the upgrade operation.
INFORMATION: The file  on boot
environment  contains a log of cleanup operations required.
INFORMATION: Review the files listed above. Remember that all of the files
are located on boot environment . Before you activate boot
environment , determine if any additional system maintenance is
required or if additional media of the software distribution must be
The Solaris upgrade of the boot environment  is complete.
Installing failsafe
Failsafe install is complete.
# umount /mnt
# lofiadm -d /dev/lofi/1
# luactivate snv_102
# init 6 (reboot)

The new boot environment is now updated and can be booted. Hurrah!


2 responses

  1. Always wondered how to do this. Thanks for posting the tip. I’m gonna update my one remaining system that doesn’t have zfs boot.

  2. perfect, just what I was looking for.

%d bloggers like this: