{"id":496,"date":"2011-01-28T00:30:38","date_gmt":"2011-12-04T05:51:50","guid":{"rendered":"http:\/\/kraftek.com\/blog\/live-upgrade-to-solaris-10\/"},"modified":"2011-01-28T00:30:38","modified_gmt":"2011-12-04T05:51:50","slug":"live-upgrade-to-solaris-10","status":"publish","type":"post","link":"\/blog\/index.php\/live-upgrade-to-solaris-10\/","title":{"rendered":"live upgrade to solaris 10"},"content":{"rendered":"<p>These are the steps to upgrade a Netra t1 with two identical disks from solaris 9 to solaris 10, using liveupgrade with a<br \/>\nSolaris 10 image from a standard jumpstart directory. This procedure is good because it needs no downtime, and the<br \/>\nconfigurarion you have in your original system is preserved (\/etc,\/export\/home).<br \/>\nIf you have a jumpstart server, make a nfs share of the install directory for your new release, in this case<br \/>\nsolaris10. We have the solaris10 sparc jumpstart directory in a linux machine, so we edited the \/etc\/exports to<br \/>\ninclude:<br \/>\n\/200gb\/jumpstart (ro)<br \/>\nWhere \/200gb\/jumpstart\/sol10 contains:<br \/>\nbash-3.00# uname -a<br \/>\nLinux linuxy 2.4.31 #6 Sun Jun 5 19:04:47 PDT 2005 i686 unknown unknown GNU\/Linux<br \/>\nbash-3.00# ls -la \/200gb\/jumpstart\/sol10<br \/>\ntotal 491<br \/>\ndrwxr-xr-x 4 root root 432 2006-03-11 12:12 .<br \/>\ndrwxr-xr-x 4 root root 136 2006-08-23 09:14 ..<br \/>\n-r&#8211;r&#8211;r&#8211; 1 root root 93 2005-11-15 12:36 .cdtoc<br \/>\ndrwxr-xr-x 5 root root 184 2005-12-07 10:32 .install<br \/>\nlrwxrwxrwx 1 root root 33 2006-08-23 09:10 .install_config -&gt; .\/Solaris_10\/Misc\/.install_config<br \/>\n-r&#8211;r&#8211;r&#8211; 1 root root 472 2006-03-11 12:12 .slicemapfile<br \/>\n-r&#8211;r&#8211;r&#8211; 1 root root 21 2005-11-15 12:36 .volume.inf<br \/>\n-r&#8211;r&#8211;r&#8211; 1 root root 23 2005-12-07 09:53 .volume.inf.2<br \/>\n-r&#8211;r&#8211;r&#8211; 1 root root 23 2005-12-07 09:53 .volume.inf.3<br \/>\n-r&#8211;r&#8211;r&#8211; 1 root root 23 2005-12-07 09:54 .volume.inf.4<br \/>\n-r&#8211;r&#8211;r&#8211; 1 root root 6604 2005-11-16 13:14 Copyright<br \/>\n-r&#8211;r&#8211;r&#8211; 1 root root 459760 2005-11-15 12:36 JDS-THIRDPARTYLICENSEREADME<br \/>\ndrwxr-xr-x 9 root root 232 2005-12-07 10:32 Solaris_10<br \/>\n-rwxr-xr-x 1 root root 257 2005-12-07 09:54 installer<br \/>\nBack at the Netra machine (the one to upgrade), verify what disks do we have<br \/>\nbash-2.05# uname -a<br \/>\nSunOS netra 5.9 Generic_118558-28 sun4u sparc SUNW,UltraSPARC-IIi-cEngine<br \/>\nbash-2.05# format &lt;\/dev\/null<br \/>\nSearching for disks&#8230;done<br \/>\nAVAILABLE DISK SELECTIONS:<br \/>\n0. c0t0d0 &lt;SUN18G cyl 7506 alt 2 hd 19 sec 248&gt;<br \/>\n\/pci@1f,0\/pci@1,1\/scsi@2\/sd@0,0<br \/>\n1. c0t1d0 &lt;SUN18G cyl 7506 alt 2 hd 19 sec 248&gt;<br \/>\n\/pci@1f,0\/pci@1,1\/scsi@2\/sd@1,0<br \/>\nPartition the second disk identically as the first one.<br \/>\n231\/433<br \/>\nbash-2.05# \/usr\/sbin\/prtvtoc \/dev\/rdsk\/c0t0d0s2 | \/usr\/sbin\/fmthard -s &#8211; \/dev\/rdsk\/c0t1d0s2<br \/>\nIt is a requirement that if you upgrade a system from solaris 9 to solaris 10, you MUST install the live upgrade<br \/>\npakages for the target version in the old version. So, we install SUNWluu and SUNWlur getting it from the<br \/>\nsolaris10 install nfs export<br \/>\nbash-2.05# uname -a<br \/>\nSunOS netra 5.9 Generic_118558-28 sun4u sparc SUNW,UltraSPARC-IIi-cEngine<br \/>\nbash-2.0.5# mkdir \/jstart<br \/>\nbash-2.0.5# mount 172.16.1.50:\/200gb\/jumpstart \/jstart<br \/>\nbash-2.0.5# cd \/jstart\/sol10\/Solaris_10\/Product<br \/>\nbash-2.0.5# pkgadd -d . SUNWluu<br \/>\nbash-2.0.5# pkgadd -d . SUNWlur<br \/>\nWe now create the live upgrade environment for solaris10, along with the current solaris9 environment, in this<br \/>\ncase we only have \/, no \/opt,\/var,\/export\/home, so we only define that we have to copy \/.<br \/>\nbash-2.05# lucreate -c &#8220;sol9&#8221; -m \/:\/dev\/dsk\/c0t1d0s0:ufs -n &#8220;sol10&#8221;<br \/>\nDiscovering physical storage devices<br \/>\nDiscovering logical storage devices<br \/>\nCross referencing storage devices with boot environment configurations<br \/>\nDetermining types of file systems supported<br \/>\nValidating file system requests<br \/>\nPreparing logical storage devices<br \/>\nPreparing physical storage devices<br \/>\nConfiguring physical storage devices<br \/>\nConfiguring logical storage devices<br \/>\nAnalyzing system configuration.<br \/>\nNo name for current boot environment.<br \/>\nCurrent boot environment is named &lt;sol9&gt;.<br \/>\nCreating initial configuration for primary boot environment &lt;sol9&gt;.<br \/>\nThe device &lt;\/dev\/dsk\/c0t0d0s0&gt; is not a root device for any boot environment.<br \/>\nPBE configuration successful: PBE name &lt;sol9&gt; PBE Boot Device &lt;\/dev\/dsk\/c0t0d0s0&gt;.<br \/>\nComparing source boot environment &lt;sol9&gt; file systems with the file<br \/>\nsystem(s) you specified for the new boot environment. Determining which<br \/>\nfile systems should be in the new boot environment.<br \/>\nUpdating boot environment description database on all BEs.<br \/>\nSearching \/dev for possible boot environment filesystem devices<br \/>\nUpdating system configuration files.<br \/>\nThe device &lt;\/dev\/dsk\/c0t1d0s0&gt; is not a root device for any boot environment.<br \/>\nCreating configuration for boot environment &lt;sol10&gt;.<br \/>\nSource boot environment is &lt;sol9&gt;.<br \/>\nCreating boot environment &lt;sol10&gt;.<br \/>\nCreating file systems on boot environment &lt;sol10&gt;.<br \/>\nCreating &lt;ufs&gt; file system for &lt;\/&gt; on &lt;\/dev\/dsk\/c0t1d0s0&gt;.<br \/>\nMounting file systems for boot environment &lt;sol10&gt;.<br \/>\nCalculating required sizes of file systems for boot environment &lt;sol10&gt;.<br \/>\nPopulating file systems on boot environment &lt;sol10&gt;.<br \/>\nChecking selection integrity.<br \/>\nIntegrity check OK.<br \/>\nPopulating contents of mount point &lt;\/&gt;.<br \/>\n232\/433<br \/>\nCopying.<br \/>\nCreating shared file system mount points.<br \/>\nCreating compare databases for boot environment &lt;sol10&gt;.<br \/>\nCreating compare database for file system &lt;\/&gt;.<br \/>\nUpdating compare databases on boot environment &lt;sol10&gt;.<br \/>\nMaking boot environment &lt;sol10&gt; bootable.<br \/>\nPopulation of boot environment &lt;sol10&gt; successful.<br \/>\nCreation of boot environment &lt;sol10&gt; successful.<br \/>\nGo on and upgrade the sol10 boot environmet from the jumpstart image, nfs mounted, this step will install the<br \/>\nsolaris 10 packages needed over the solaris 9 image copied to c0t1d0<br \/>\nbash-2.05# luupgrade -u -n sol10 -s \/jstart\/sol10<br \/>\nValidating the contents of the media &lt;\/jstart\/sol10&gt;.<br \/>\nThe media is a standard Solaris media.<br \/>\nThe media contains an operating system upgrade image.<br \/>\nThe media contains &lt;Solaris&gt; version &lt;10&gt;.<br \/>\nConstructing upgrade profile to use.<br \/>\nLocating the operating system upgrade program.<br \/>\nChecking for existence of previously scheduled Live Upgrade requests.<br \/>\nCreating upgrade profile for BE &lt;sol10&gt;.<br \/>\nDetermining packages to install or upgrade for BE &lt;sol10&gt;.<br \/>\nPerforming the operating system upgrade of the BE &lt;sol10&gt;.<br \/>\nCAUTION: Interrupting this process may leave the boot environment unstable<br \/>\nor unbootable.<br \/>\nUpgrading Solaris: 100% completed<br \/>\nInstallation of the packages from this media is complete.<br \/>\nUpdating package information on boot environment &lt;sol10&gt;.<br \/>\nPackage information successfully updated on boot environment &lt;sol10&gt;.<br \/>\nAdding operating system patches to the BE &lt;sol10&gt;.<br \/>\nThe operating system patch installation is complete.<br \/>\nINFORMATION: The file &lt;\/var\/sadm\/system\/logs\/upgrade_log&gt; on boot<br \/>\nenvironment &lt;sol10&gt; contains a log of the upgrade operation.<br \/>\nINFORMATION: The file &lt;\/var\/sadm\/system\/data\/upgrade_cleanup&gt; on boot<br \/>\nenvironment &lt;sol10&gt; contains a log of cleanup operations required.<br \/>\nINFORMATION: Review the files listed above. Remember that all of the files<br \/>\nare located on boot environment &lt;sol10&gt;. Before you activate boot<br \/>\nenvironment &lt;sol10&gt;, determine if any additional system maintenance is<br \/>\nrequired or if additional media of the software distribution must be<br \/>\ninstalled.<br \/>\nThe Solaris upgrade of the boot environment &lt;sol10&gt; is complete.<br \/>\nNow we activate the solaris 10 boot environment:<br \/>\nbash-2.05# luactivate sol10<br \/>\nkraftek.html POSTS rescue rescued.html rescued.txt x y z<br \/>\nThe target boot environment has been activated. It will be used when you<br \/>\nreboot. NOTE: You MUST NOT USE the reboot, halt, or uadmin commands. You<br \/>\nMUST USE either the init or the shutdown command when you reboot. If you<br \/>\ndo not use either init or shutdown, the system will not boot using the<br \/>\ntarget BE.<br \/>\nkraftek.html POSTS rescue rescued.html rescued.txt x y z<br \/>\n233\/433<br \/>\nIn case of a failure while booting to the target BE, the following process<br \/>\nneeds to be followed to fallback to the currently working boot environment:<br \/>\n1. Enter the PROM monitor (ok prompt).<br \/>\n2. Change the boot device back to the original boot environment by typing:<br \/>\nsetenv boot-device disk:a<br \/>\n3. Boot to the original boot environment by typing:<br \/>\nboot<br \/>\nkraftek.html POSTS rescue rescued.html rescued.txt x y z<br \/>\nActivation of boot environment &lt;sol10&gt; successful.<br \/>\nBounce the system&#8230;<br \/>\nbash-2.05# init 6<br \/>\nINIT: New run level: 6<br \/>\nThe system is coming down. Please wait.<br \/>\nSystem services are now being stopped.<br \/>\nLive Upgrade: Deactivating current boot environment &lt;sol9&gt;.<br \/>\nLive Upgrade: Executing Stop procedures for boot environment &lt;sol9&gt;.<br \/>\nLive Upgrade: Current boot environment is &lt;sol9&gt;.<br \/>\nLive Upgrade: New boot environment will be &lt;sol10&gt;.<br \/>\nLive Upgrade: Activating boot environment &lt;sol10&gt;.<br \/>\nLive Upgrade: The boot device for boot environment &lt;sol10&gt; is<br \/>\n&lt;\/dev\/dsk\/c0t1d0 s0&gt;.<br \/>\nLive Upgrade: Activation of boot environment &lt;sol10&gt; completed.<br \/>\nThe system is down.<br \/>\nsyncing file systems&#8230; done<br \/>\nrebooting&#8230;<br \/>\nResetting &#8230;<br \/>\nNetra t1 (UltraSPARC-IIi 440MHz), No Keyboard<br \/>\nOpenBoot 3.10.27 ME, 256 MB memory installed, Serial #14270360.<br \/>\nEthernet address 8:0:20:d9:bf:98, Host ID: 80d9bf98.<br \/>\nExecuting last command: boot<br \/>\nBoot device: disk1:a File and args:<br \/>\nSunOS Release 5.10 Version Generic_118822-25 64-bit<br \/>\nCopyright 1983-2005 Sun Microsystems, Inc. All rights reserved.<br \/>\nUse is subject to license terms.<br \/>\nWARNING: No major number for driver mpt in class scsi<br \/>\nHostname: netra<br \/>\nConfiguring devices.<br \/>\nLoading smf(5) service descriptions: 121\/121<br \/>\nAug 25 14:38:13 svc.startd[7]: svc:\/system\/mdmonitor:default: Method &#8220;\/lib\/svc\/method\/svc.<br \/>\nAug 25 14:38:14 svc.startd[7]: svc:\/system\/mdmonitor:default: Method &#8220;\/lib\/svc\/method\/svc.<br \/>\nAug 25 14:38:14 svc.startd[7]: svc:\/system\/mdmonitor:default: Method &#8220;\/lib\/svc\/method\/svc.<br \/>\n[ system\/mdmonitor:default failed (see &#8216;svcs -x&#8217; for details) ]<br \/>\nThis system is configured with NFS version 4, which uses a domain<br \/>\nname that is automatically derived from the system&#8217;s name services.<br \/>\nThe derived domain name is sufficient for most configurations. In a<br \/>\nfew cases, mounts that cross different domains might cause files to<br \/>\nbe owned by &#8220;nobody&#8221; due to the lack of a common domain name.<br \/>\nDo you need to override the system&#8217;s default NFS version 4 domain<br \/>\nname (yes\/no) x y z [no] : no<br \/>\nFor more information about how the NFS version 4 default domain<br \/>\n234\/433<br \/>\nname is derived and its impact, refer to the man pages for nfs(4)<br \/>\nand nfsmapid(1m), and the System Administration Guide: Network<br \/>\nServices.<br \/>\nnetra console login: root<br \/>\nbash-3.00# uname -a<br \/>\nSunOS netra 5.10 Generic_118822-25 sun4u sparc SUNW,UltraSPARC-IIi-cEngine<br \/>\nSolaris 10 is now installed on the second disk.<br \/>\nTo bounce it back to our first disk on solaris 9, you can activate the boot environment and reboot.<br \/>\nbash-3.00# uname -a<br \/>\nSunOS netra 5.10 Generic_118822-25 sun4u sparc SUNW,UltraSPARC-IIi-cEngine<br \/>\nbash-3.00# luactivate sol9<br \/>\nbash-3.00# init 6<br \/>\nsolaris patchadd return codes<br \/>\n0. No error<br \/>\n1. Usage error<br \/>\n2. Attempt to apply a patch that&#8217;s already been applied<br \/>\n3. Effective UID is not root<br \/>\n4. Attempt to save original files failed<br \/>\n5. pkgadd failed<br \/>\n6. Patch is obsoleted<br \/>\n7. Invalid package directory<br \/>\n8. Attempting to patch a package that is not installed<br \/>\n9. Cannot access \/usr\/sbin\/pkgadd (client problem)<br \/>\n10. Package validation errors<br \/>\n11. Error adding patch to root template<br \/>\n12. Patch script terminated due to signal<br \/>\n13. Symbolic link included in patch<br \/>\n14. NOT USED<br \/>\n15. The prepatch script had a return code other than 0.<br \/>\n16. The postpatch script had a return code other than 0.<br \/>\n17. Mismatch of the -d option between a previous patch install and the current one.<br \/>\n18. Not enough space in the file systems that are targets of the patch.<br \/>\n19. $SOFTINFO\/INST_RELEASE file not found<br \/>\n20. A direct instance patch was required but not found<br \/>\n21. The required patches have not been installed on the manager<br \/>\n22. A progressive instance patch was required but not found<br \/>\n23. A restricted patch is already applied to the package<br \/>\n24. An incompatible patch is applied<br \/>\n25. A required patch is not applied<br \/>\n26. The user specified backout data can&#8217;t be found<br \/>\n27. The relative directory supplied can&#8217;t be found<br \/>\n28. A pkginfo file is corrupt or missing<br \/>\n235\/433<br \/>\n29. Bad patch ID format<br \/>\n30. Dryrun failure(s)<br \/>\n31. Path given for -C option is invalid<br \/>\n32. Must be running Solaris 2.6 or greater<br \/>\n33. Bad formatted patch file or patch file not found<br \/>\n34. Incorrect patch spool directory<br \/>\n35. Later revision already installed<br \/>\n236\/433<\/p>\n","protected":false},"excerpt":{"rendered":"<p>These are the steps to upgrade a Netra t1 with two identical disks from solaris 9 to solaris 10, using liveupgrade with a Solaris 10 image from a standard jumpstart directory. This procedure is good because it needs no downtime, and the configurarion you have in your original system is preserved (\/etc,\/export\/home). If you have [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-496","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"_links":{"self":[{"href":"\/blog\/index.php\/wp-json\/wp\/v2\/posts\/496","targetHints":{"allow":["GET"]}}],"collection":[{"href":"\/blog\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"\/blog\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"\/blog\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"\/blog\/index.php\/wp-json\/wp\/v2\/comments?post=496"}],"version-history":[{"count":0,"href":"\/blog\/index.php\/wp-json\/wp\/v2\/posts\/496\/revisions"}],"wp:attachment":[{"href":"\/blog\/index.php\/wp-json\/wp\/v2\/media?parent=496"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"\/blog\/index.php\/wp-json\/wp\/v2\/categories?post=496"},{"taxonomy":"post_tag","embeddable":true,"href":"\/blog\/index.php\/wp-json\/wp\/v2\/tags?post=496"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}