Patching a Miniroot Image on the Solaris 10 OS for x86 or SPARC PlatformsEnda O'Connor, February 2009 AbstractThis article describes how to install the latest Kernel Update (KU) patch, or any patch, to a SPARC or x86 miniroot image for the JumpStart installation program. The article covers the following topics and scenarios:
IntroductionIn some cases, Sun provides hardware support through driver patches. Sun provides these driver patches to support third-party hardware, such as IBM BladeCenter servers. Another reason Sun might provide hardware support is to enable the installation of a particular release of the Solaris Operating System on newer hardware without necessitating the re-engineering of that particular Solaris release. In such instances, it is often necessary to install a particular driver patch. Most often, the process involves installing the latest KU patch for the OS in question. This article describes how to patch a miniroot image to create a modified miniroot that contains the latest KU patch. The Solaris OS that is used in the procedures in this article is the Solaris 10 5/08 release. However, the procedure is similar for all Solaris 10 releases. The Solaris OS for x86 platforms uses GRUB to boot the system as of the Solaris 10 1/06 release. For more information about GRUB-based booting, see the System Administration Guide: Basic Administration at http://docs.sun.com/app/docs/doc/817-1985. About the Miniroot ImageThe miniroot is a minimal, bootable root (/) file system that resides on the Solaris installation media. A miniroot consists of all the Solaris software that is required to boot the system to either install or upgrade the system. The miniroot is what the JumpStart installation program or installation media uses to perform a full installation of the Solaris OS. The miniroot runs only during the installation process. It is important to understand that the instructions in this article describe how to install a patch on the
miniroot image only. When you patch the miniroot image, the patch is not installed on the system where the Solaris OS installation
will take place nor is it installed on the system where the The installed image still requires the installation of a patch prior to the first boot. This process occurs after the installation completes. A finish script is invoked, initiating the installation of the KU patch on the freshly installed system prior to first boot. This installation of the KU patch to the actual system that is being installed is separate from the miniroot patch process that is described in this article. Before You Get StartedPlease ensure that the live system where the miniroot patching is being done is patched with the latest patch utilities patch.
The following command downloads patch 119254-62 to the #patchadd /tmp/119254-62 The If you are patching a SPARC miniroot that is all ready at KU patch 137137-09 (Solaris 10 10/08 release) level, then you must unpack the miniroot
archive first using If you are patching an x86 miniroot only, then the system where the If you need to run the The following is an example of trying to unpack a miniroot for the Solaris 10 10/08 OS for SPARC platforms on an x86 JumpStart server: It is advisable to always create a copy of the current image using Patching a SPARC Miniroot of Solaris 10 5/08 and Prior Releases With KU Patch 137137-09The following example shows how to install KU patch 137137-09 on a Solaris 10 5/08 SPARC miniroot image. Note: You must be superuser (root) or assume an equivalent role to perform this task. 1. Change to the # cd /export/images/SPARC/solaris_10_u5/Solaris_10/Tools 2. Run the # ./setup_install_server /export/u5 Verifying target directory... Calculating the required disk space for the Solaris_10 product Calculating space required for the installation boot image Copying the CD image to disk... Copying Install Boot Image hierarchy... Install Server setup complete # The installation server setup is now complete. 3. Change directories: # cd /export/u5/Solaris/Tools/Boot/sbin 4. Make a copy of the # cp sulogin sulogin.orig 5. Set the following environment variable: # export PKG_NONABI_SYMLINKS=true 6. Install KU patch 137137-09 and other required patches using patchadd -C /export/u5/Solaris/Tools/Boot /export/119254-59 patchadd -C /export/u5/Solaris/Tools/Boot /export/138866-01 patchadd -C /export/u5/Solaris/Tools/Boot /export/119252-26 patchadd -C /export/u5/Solaris/Tools/Boot /export/124628-08 patchadd -C /export/u5/Solaris/Tools/Boot /export/124630-19 patchadd -C /export/u5/Solaris/Tools/Boot /export/137137-09 Note: Patch 124630-20 (or higher) and 137137-09 are codependent; the miniroot must be patched with both patches. 7. Modify Caution: The 8. Applying the Solaris 10 10/08 KU patch 137137-09 now means that the patched miniroot will be using SPARC NewBoot, which requires that the miniroot be packed: # /Boot/boot/solaris/bin/root_archive packmedia /export/u5 /export/u5/Solaris_10/Tools/Boot If the live system where the miniroot is being patched is already at the Solaris 10 10/08 OS (137137-09) level or higher, you can use
You might see errors at this stage from the Note:
Patching a SPARC Miniroot of Solaris 10 10/08 and Later ReleasesThe following procedure shows how to patch a Solaris 10 10/08 SPARC miniroot image. To facilitate unpacking of the Solaris 10 10/08 miniroot, the procedure is carried out on a system installed with the Solaris 10 10/08 OS. Note: You must be superuser (root) or assume an equivalent role to perform this task. 1. Change to the # cd /export/images/SPARC/solaris_10_u6/Solaris_10/Tools 2. Run the # ./setup_install_server /export/u6 Verifying target directory... Calculating the required disk space for the Solaris_10 product Calculating space required for the installation boot image Copying the CD image to disk... Copying Install Boot Image hierarchy... Install Server setup complete # The installation server setup is now complete. 3. Unpack the miniroot: # mkdir /export/mr # /boot/solaris/bin/root_archive unpackmedia /export/u6 /export/mr 4. Change directories: # cd /export/mr/sbin 5. Make a copy of the # cp sulogin sulogin.orig 6. Set the following environment variable: # export PKG_NONABI_SYMLINKS=true 7. Install required patches: patchadd -C /export/mr /export/138888-02 8. Modify Caution: The # export SVCCFG_REPOSITORY=/export/mr/etc/svc/repository.db # svccfg -s system/manifest-import setprop start/exec = :true # svccfg -s system/filesystem/usr setprop start/exec = :true # svccfg -s system/identity:node setprop start/exec = :true # svccfg -s system/device/local setprop start/exec = :true # svccfg -s network/loopback:default setprop start/exec = :true # svccfg -s network/physical:default setprop start/exec = :true # svccfg -s milestone/multi-user setprop start/exec = :true 9. Pack the patched miniroot: # /Boot/boot/solaris/bin/root_archive packmedia /export/u6 /export/mr Note: You might see errors at this stage from the Patching a SPARC Miniroot of Solaris 10 5/08 and Prior Releases Without KU Patch 137137-09The following example shows how to install KU patch 127127-09 on a Solaris 10 8/07 SPARC miniroot image. More generally, the procedure covers patching a miniroot prior to Solaris 10 10/08 OS without applying KU patch 137137-09. Because 137137-09 is not being applied, none of the steps specific to NewBoot are required. Note: You must be superuser (root) or assume an equivalent role to perform this task. 1. Change to the # cd /export/images/SPARC/solaris_10_u4/Solaris_10/Tools 2. Run the # ./setup_install_server /export/u4 Verifying target directory... Calculating the required disk space for the Solaris_10 product Calculating space required for the installation boot image Copying the CD image to disk... Copying Install Boot Image hierarchy... Install Server setup complete # The installation server setup is now complete. 3. Change directories.: # cd /export/u4/Solaris/Tools/Boot/sbin4. Make a copy of the sulogin file:
# cp sulogin sulogin.orig 5. Set the following environment variable: # export PKG_NONABI_SYMLINKS=true 6. Install 127127-11 and other required patches: patchadd -C /export/u4/Solaris/Tools/Boot /export/124630-17 patchadd -C /export/u4/Solaris/Tools/Boot /export/127127-11 Note: When not applying KU patch 137137-09 to the miniroot, patch 124630-17 must be used. Patch 124630-18 (and higher) are incompatible with miniroot kernels prior to 137137-09. This restriction applies to the miniroot only; the restriction does not apply when patching a standard boot environment. 7. Modify Caution: The The image at Patching an x86 Miniroot of a Release Later Than Solaris 10 1/06 With KU Patch 137138-09Note: You must be superuser (root) or assume an equivalent role to perform this task. 1. Create the installation and miniroot directories under the # mkdir /export/mr 2. Change to the # cd /export/images/x86/solaris_10_u5/Solaris_10/Tools 3. Run the # ./setup_install_server /export/u5 Verifying target directory... Calculating the required disk space for the Solaris_10 product Calculating space required for the installation boot image Copying the CD image to disk... Copying Install Boot Image hierarchy... Copying /boot x86 netboot hierarchy... Install Server setup complete # The installation server setup is now complete. 4. Run the following command to unpack the miniroot: # /boot/solaris/bin/root_archive unpackmedia /export/u5 /export/mr 5. Change directories: # cd /export/mr/sbin 6. Make a copy of the # cp sulogin sulogin.orig 7. Set the following environment variable: # export PKG_NONABI_SYMLINKS=true 8. Apply all required patches to the miniroot: # patchadd -C /export/mr /export/patch-id For example: # patchadd -C /export/mr /export/119255-59 # patchadd -C /export/mr /export/119253-26 # patchadd -C /export/mr /export/124629-08 # patchadd -C /export/mr /export/124631-19 # patchadd -C /export/mr /export/138402-01 # patchadd -C /export/mr /export/138402-01 # patchadd -C /export/mr /export/137138-09 9. Export the # export SVCCFG_REPOSITORY=/export/mr/etc/svc/repository.db Caution: The 10. Modify the miniroot's # svccfg -s system/manifest-import setprop start/exec = :true # svccfg -s system/filesystem/usr setprop start/exec = :true # svccfg -s system/identity:node setprop start/exec = :true # svccfg -s system/device/local setprop start/exec = :true # svccfg -s network/loopback:default setprop start/exec = :true # svccfg -s network/physical:default setprop start/exec = :true # svccfg -s milestone/multi-user setprop start/exec = :true For more information, see the 11. Restore the original copy of the # cd /export/mr/sbin # mv sulogin.orig sulogin 12. Pack the modified miniroot that contains the changes you made. Place the modified miniroot in the # /boot/solaris/bin/root_archive packmedia /export/u5 /export/mr This step essentially replaces Installing a System With the Modified MinirootWhen the system being installed with the modified miniroot is booting prior to the install starting, the following is displayed: SunOS Release 5.10 Version Generic_137138-09 32-bitOr, if you are installing a SPARC miniroot, the following is displayed: SunOS Release 5.10 Version Generic_137137-09 32-bit These messages indicate that the miniroot was properly patched, assuming that the miniroot was patched with 137137-09 or 137138-09. If a different KU patch was used, it will be displayed instead. Note: The message is displayed by the miniroot. As previously explained, the actual image that is installed does not contain patch 137137-09. The process of adding this patch to the final installed image is completed by using a finish script. This process is part of the custom JumpStart program. For More InformationHere are some additional resources:
Comments (latest comments first)Discuss and comment on this resource in the BigAdmin Wiki
Unless otherwise licensed, code in all technical manuals herein (including articles, FAQs, samples) is provided under this License. |
BigAdmin SubscriptionsBigAdmin Areas
BigAdmin Sun Center
BigAdmin Topics | ||||