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:
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.
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.
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.
Follow these steps to patch a network installation miniroot image.
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.
On a system that is running the current Solaris release, log in as superuser or assume an equivalent role.
Change to the Tools directory of the installation image you created in Step 5.
# cd install-server-path/install-dir-path/Solaris_10/Tools |
Specifies the path to the install server system on your network, for example, /net/installserver-1.
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 |
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.
On the current Solaris release, unpack the network installation boot archive.
# /boot/solaris/bin/root_archive unpackmedia remote_install_dir_path \ destination_dir |
Specifies the path to the network installation image on the current Solaris release.
Specifies the path to the directory to contain the unpacked boot archive.
On the current Solaris release, patch the unpacked boot archive.
# patchadd -C destination_dir path-to-patch/patch-id |
Specifies the path to the patch that you want to add, for example, /var/sadm/spool.
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).
Don't use the patchadd -C command unless you have read the Patch README instructions or have contacted your local Sun support office.
On the current Solaris release, pack the boot archive.
# /boot/solaris/bin/root_archive packmedia remote_install_dir_path \ destination_dir |
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 |
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.
If you are using DHCP or the install server is on the same subnet as the system to be installed, you do not need to create a boot server. Proceed to Adding Systems to Be Installed From the Network With a DVD Image.
If you are not using DHCP and the install server and the client are on a different subnet, you must create a boot server. Proceed to Creating a Boot Server on a Subnet With a DVD Image.
This example describes the steps to patch a miniroot image to create a modified miniroot.
In this example, you perform the unpacking and packing of the miniroot on a system that is running the current release.
This procedure shows how to install a Kernel Update (KU) patch on a Solaris 10 5/09 miniroot image. On a system that is running the Solaris 10 OS, follow these steps, but note these details.
jmp-start1 — Is a network installation server that is running the Solaris 9 OS
v20z-1 — Is a system that is running the Solaris 10 OS, with GRUB implemented
v20z-1:/export/mr — Is the unpacked miniroot location
v20z-1:/export/u1 — Is the installation image that was created, so it could be modified
The network installation image is located at/net/jmpstart1/export/images/solaris_10_u1/Solaris_10/Tools.
On a system that is running the current Solaris release, log in as superuser or assume an equivalent role.
Change to the directory where you want to unpack the miniroot and place the network installation image.
# cd /net/server-1/export |
Create the installation and miniroot directories.
# mkdir /export/u1 /export/mr |
Change directories to the Tools directory where the Solaris 10 5/09 installation images are located.
# cd /net/jmp-start1/export/images/solaris_10/Solaris_10/Tools |
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.
Run the following command to unpack the miniroot.
# /boot/solaris/bin/root_archive unpackmedia /export/u1 /export/mr |
Change directories.
# cd /export/mr/sbin |
Make a copy of the rc2 and the sulogin files.
# cp rc2 rc2.orig # cp sulogin sulogin.orig |
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 |
Export the SVCCFG_REPOSITORY variable.
# export SVCCFG_REPOSITORY=/export/mr/etc/svc/repository.db |
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.
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.
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 |
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.
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.
If you are using DHCP or the install server is on the same subnet as the system to be installed, you do not need to create a boot server. You are finished. Proceed to Adding Systems to Be Installed From the Network With a DVD Image.
If you are not using DHCP and the install server and the client are on a different subnet, you must create a boot server. Proceed to Creating a Boot Server on a Subnet With a DVD Image.