Solaris 10 10/08 Installation Guide: Network-Based Installations

Chapter 7 Patching the Miniroot Image (Tasks)

This chapter provides a step-by-step procedure and an example to patch the miniroot image when you are setting up an install server.

This chapter covers the following topics:

Patching the Miniroot Image (Tasks)

You might need to Patch the files that are located in the miniroot on the network installation image that was created by setup_install_server.

About the Miniroot Image (Overview)

The 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 software is used by the installation media to perform a full installation of the Solaris OS. The miniroot runs only during the installation process.

You might need to patch the miniroot before installation if the boot image has problems booting or if you need to add driver and hardware support. When you patch the miniroot image, the patch is not installed on the system where the Solaris OS installation occurs or on the system that the patchadd command is run. Patching the miniroot image is strictly used for adding driver and hardware support to the process that performs the actual installation of the Solaris OS.


Note –

This procedure is only for patching the miniroot, not for patching the complete network installation image. If you need to patch the network installation image, perform the task after the installation completes.


ProcedureHow To Patch the Miniroot Image

Follow these steps to patch a network installation miniroot image.


Note –

These steps assume that you have a system on your network that is running the current Solaris release, and that system is accessible over the network.


  1. On a system that is running the current Solaris release, log in as superuser or assume an equivalent role.

  2. Change to the Tools directory of the installation image you created in Step 5.


    # cd install-server-path/install-dir-path/Solaris_10/Tools
    
    install-server-path

    Specifies the path to the install server system on your network, for example, /net/installserver-1.

  3. Create a new installation image, and place that image on the system that is running the current Solaris release.


    # ./setup_install_server remote_install_dir_path
    
    remote_install_dir_path

    Specifies the path on the current Solaris release in which to create the new installation image.

    This command creates a new installation image on the current Solaris release. In order to patch this image, you must temporarily place this image on a system that is running the current Solaris release.

  4. On the current Solaris release, unpack the network installation boot archive.


    # /boot/solaris/bin/root_archive unpackmedia remote_install_dir_path \
      destination_dir
    
    remote_install_dir_path

    Specifies the path to the network installation image on the current Solaris release.

    destination_dir

    Specifies the path to the directory to contain the unpacked boot archive.

  5. On the current Solaris release, patch the unpacked boot archive.


    # patchadd -C destination_dir path-to-patch/patch-id
    
    path-to-patch

    Specifies the path to the patch that you want to add, for example, /var/sadm/spool.

    patch-id

    Specifies the patch ID that you want to apply.

    You can specify multiple patches with the patchadd -M option. For more information, see patchadd(1M).


    Caution – Caution –

    Don't use the patchadd -C command unless you have read the Patch README instructions or have contacted your local Sun support office.


  6. On the current Solaris release, pack the boot archive.


    # /boot/solaris/bin/root_archive packmedia remote_install_dir_path \
      destination_dir
    
  7. Copy the patched archives to the installation image on the install server.


    # cd remote_install_dir_path
    # find boot Solaris_10/Tools/Boot | cpio -pdum \
       install-server-path/install_dir_path
    
Next Steps

After you have set up the install server and patched the miniroot, you might need to set up a boot server or add systems to be installed from the network.

Patching the Miniroot Image (Example)

This example describes the steps to patch a miniroot image to create a modified miniroot.

Patching the Miniroot Image

In this example, you perform the unpacking and packing of the miniroot on a system that is running the current release.

ProcedureHow to Modify the Miniroot (Example)

This procedure shows how to install a Kernel Update (KU) patch on a Solaris 10 10/08 miniroot image. On a system that is running the Solaris 10 OS, follow these steps, but note these details.

The network installation image is located at/net/jmpstart1/export/images/solaris_10_u1/Solaris_10/Tools.

  1. On a system that is running the current Solaris release, log in as superuser or assume an equivalent role.

  2. Change to the directory where you want to unpack the miniroot and place the network installation image.


    # cd /net/server-1/export
    
  3. Create the installation and miniroot directories.


    # mkdir /export/u1 /export/mr
    
  4. Change directories to the Tools directory where the Solaris 10 10/08 installation images are located.


    # cd /net/jmp-start1/export/images/solaris_10/Solaris_10/Tools
    
  5. Create a new installation image, and place the image on the system that is running the current Solaris release.


    # ./setup_install_server /export/u1
    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  netboot hierarchy...
    Install Server setup complete

    The installation server setup is now complete.

  6. Run the following command to unpack the miniroot.


     # /boot/solaris/bin/root_archive unpackmedia /export/u1 /export/mr
    
  7. Change directories.


    # cd  /export/mr/sbin
    
  8. Make a copy of the rc2 and the sulogin files.


    # cp rc2 rc2.orig
    # cp sulogin sulogin.orig
    
  9. Apply all required patches to the miniroot.


    patchadd -C /export/mr /export patchid
    

    patchid specifies the patch ID that you want to apply.

    In this example, five patches are applied to the miniroot.


    # patchadd -C /export/mr /export/118344-14
    # patchadd -C /export/mr /export/122035-05
    # patchadd -C /export/mr /export/119043-10
    # patchadd -C /export/mr /export/123840-04
    # patchadd -C /export/mr /export/118855-36
    
  10. Export the SVCCFG_REPOSITORY variable.


    # export SVCCFG_REPOSITORY=/export/mr/etc/svc/repository.db
    

    Caution – Caution –

    The SVCCFG_REPOSITORY variable must point to the location of the unpacked miniroot's repository.db file. In this example, that location is the /export/mr/etc/svc directory. The repository.db file is located in the directory /etc/svc under the unpacked miniroot. Failure to export this variable results in the modification of the live repository, which prevents the live system from booting.


  11. Modify the miniroot's repository.db file.


    # 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 svccfg(1M) man page.

  12. Change directories. Then, restore the original copies of the rc2.orig and sulogin.orig files.


    # cd /export/mr/sbin
    # mv rc2.orig rc2
    # mv sulogin.orig sulogin
    
  13. Pack the modified miniroot that contains the changes you made. Place the modified miniroot in the /export/u1 directory.


    # /boot/solaris/bin/root_archive packmedia /export/u1 /export/mr
    

    This step essentially replaces /export/u1/boot/miniroot directory, along with some other necessary files.

Next Steps

After you have set up the install server and patched the miniroot, you might need to set up a boot server or add systems to be installed from the network.