Upgrade using a new boot environment
From Wiki
Enclosed below are revised instructions for using "pkg image-update" to update to the latest OpenSolaris development builds via http://pkg.opensolaris.org/ For more information on this command and the Image Packaging System (IPS) technology, refer to the pkg(1), beadm(1M) and pkg(5) manual pages and the following documents Getting Started With the Image Packaging System http://dlc.sun.com/osol/docs/content/IPS/ggcph.html Upgrading and Managing Your Boot Environments http://dlc.sun.com/osol/docs/content/IPS/snap3.html General instructions for updating to the latest OpenSolaris development build ============================================================================= 1) Before using the "image-update" subcommand, it is recommended that the latest available version of the IPS software be installed for your current boot environment (BE) $ BUILD=`uname -v | sed s/snv_//` $ pfexec pkg refresh $ pfexec pkg install SUNWipkg@0.5.11-0.$BUILD $ pfexec pkg install entire@0.5.11-0.$BUILD 2) Verify the build of OpenSolaris in the current BE $ echo $BUILD 3) If you are running build 93 or greater, you can use "image-update" directly as follows $ pfexec pkg image-update At this point, you can boot into the updated BE using reboot(1M) or init(1M) as usual. 4) If you are using a build prior to 93, it is recommended one apply the update directly to an alternate BE in order to work-around 2387 libbe.so:beCopy() frees nvlist variables before using them http://defect.opensolaris.org/bz/show_bug.cgi?id=2387 First, display the list of the existing BEs on the system $ beadm list BE Active Active on Mountpoint Space Name reboot Used ---- ------ --------- ---------- ----- opensolaris no no - 3.92G opensolaris-1 yes yes - 17.06M Next, choose the name of a new BE - if the most recent created BE is of the form "opensolaris-" where is an integer, then a suitable choice for the new BE is "opensolaris-". In the above example, the new BE would be "opensolaris-2". Finally, execute the following sequence of commands to create, mount and update the new BE $ pfexec beadm create opensolaris- $ mkdir /tmp/mnt$$ $ pfexec beadm mount opensolaris- /tmp/mnt$$ $ pfexec pkg -R /tmp/mnt$$ image-update 5) If you are running build 86, the following step is required in order to work-around 1979 libbe: be_activate needs to run installgrub http://defect.opensolaris.org/bz/show_bug.cgi?id=1979 /mnt/boot/solaris/bin/update_grub -R /mnt >>>>>>>>>> IMPORTANT $ pfexec beadm activate opensolaris- At this point, you can boot into the updated BE using reboot(1M) or init(1M) as usual.