This chapter explains how to use the OS provisioning plug-in to install the Solaris Operating System onto target hosts.
The chapter contains the following information:
The OS provisioning plug-in uses the features provided through the JumpStartTM Enterprise Toolkit (JET) technology to provision the Solaris Operating System (OS). JET is an enhancement to the Sun-developed JumpStart technology that automates the installation of the Solaris OS over a network. The OS provisioning plug-in through JET enhances this capability further, while hiding some of the complexity.
JET technology provides the JumpStart server with product-specific modules that install the Solaris OS and other products in a structured way. This structure enhances the features that you can implement through “ad-hoc” scripting of the JumpStart finish script.
The OS provisioning plug-in supplies three JET modules:
base_config – Installs and configures the Solaris OS. For information about base_config variables, see Basic Solaris OS Configuration Variables.
spsra – Installs and configures the N1 SPS Remote Agent (RA) on a Solaris system. For information about spsra variables, see Component Variables for Solaris Remote Agents.
custom – Installs arbitrary lists of Solaris packages, patches, and files, and can run arbitrary collections of scripts. For information about custom modules, see Using the custom Module.
The JET functionality that is provided with the OS Provisioning Plug-In is Solaris zone-aware and can be installed on a global zone without affecting any non–global zones. Because non–global zones do not currently support NFS share exports, JET is not supported on non–global zones
The build sequence of the JumpStart Enterprise Toolkit is as follows:
Standard Solaris installation phase
Call standard JumpStart finish script
Call individual module “install” scripts
Reboot target server
(Optional) Platform related installation tasks; reboot after each level
(Optional) Application related installation tasks; reboot after each level
(Optional) Final installation tasks (no reboot)
login prompt appears on the console
The optional steps after the initial reboot depend on the individual modules configured within the target server template. Modules can be written in such a way that they request that the toolkit perform additional work after the first reboot. In this request, the modules can identify whether the work should be in the platform-related area, the application-related area, or whether the work needs to be done at the end, when no more reboots are planned.
To provision the Solaris Operating System, you must perform these high-level tasks:
Set up the JET server.
Create the Solaris image or attach an existing image to the JET server.
Create a provisioning profile.
Create a target host.
Install the image onto the target host.
The Solaris boot and install server is a JET server.
You can create a JET image server from the N1 SPS browser interface or command-line interface. To create the server from the command line, type a command similar to the following example:
# cr_cli -cmd pe.p.run -u admin -p admin -PID NM:/com/sun/n1osp/untyped/Jet-create \ -tar H:NM:biss1 -comp - -vs solaris8 + -pto 30 -nto 10 |
Substitute the appropriate release value for the solaris8 argument.
To create the server from the browser interface, follow these steps.
Log into the system that is to be the Solaris boot and install server.
If you currently use the JumpStart enterprise toolkit, remove those files.
In the Common Tasks section of the N1 SPS browser interface, select OS Provisioning.
On the OS Provisioning Common Tasks page, click Create in the JET Solaris Image Servers section.
On the Plans Details page, click Run.
Choose variables to use for this plan.
To use an existing variables set, select a name from the drop-down menu in the JET component row of the Plan Parameters table.
To create a new variables set, click Select from List in the JET component row of the Plan Parameters table.
Click Create Set.
Type a name for the variables set.
Verify variables and change them, if needed.
The image server component has only a few variables, most of which you are unlikely to change. See Solaris Image Server Component Variables for a list of those variables and their default values.
Save the variables set.
Select the variables set that you just saved from the drop-down menu in the JET component row of the Plan Parameters table.
If you want to use another component's variable settings, click Import Set From Component.
The Import Variable Settings window displays.
If necessary, navigate to the Folder that contains the component with the variable settings you want to import.
Select the component version.
Variable settings can vary between component versions. Ensure that the current components and the component from which you want to import variable settings share common variables. If the component from which you want to import variable settings does not share common variables with the component you want to use in your plan, the variable settings are not imported.
Click Import Variable Settings.
The variables settings are imported, and are displayed in the table.
On the Plan Details Run page, select the variable settings that you imported from the Variable Settings drop-down list, then click Select.
If you want to use component variable settings that are stored in a file, follow these steps.
In the Import Sets from File text field, enter the path to the variable settings file that you want to use.
To browse through the file system to find the appropriate file, click the Browse button.
Click Import.
The variables settings are imported, and are displayed in the table.
If the file from which you want to import variable settings does not share common variables with the component you want to use in your plan, the variable set is not imported.
On the Plan Details Run page, select the variable settings that you imported from the Variable Settings drop-down list, then click Select.
Select the host on which to create the JET image server.
Click Run Plan (includes preflight).
To verify that the JET image server is created successfully, click the Hosts link in the left side of the provisioning server window.
You should see the name of the virtual host appended with -jet. For example, if you installed on host masterserver, the virtual host is masterserver-jet.
If your OS provisioning server is located on the same physical host as the boot and install server, you must configure the interfaces on the system before you provision any target hosts. The OS provisioning server does not automatically configure the interfaces of the boot and install server.
The following variables apply to the image server component.
Table 5–1 Solaris Image Server Component Variables
Variable Name |
Description |
Default Value |
---|---|---|
installPath |
Location to install JET package. |
/opt/SUNWjet |
sps_cli |
Location of N1 SPS command-line interface. |
/opt/SUNWn1sps/N1_Service_Provisioning_System_5.2/cli/bin/cr_cli |
jetHost |
Name to use for the virtual host name. By default, the virtual JET host name is set to the host name of the target host with -jet appended. |
:[target]-jet |
jetFolder |
Folder where you want to store JET-specific information. By default, the JET folder is located in /com/sun/n1osp/autogen-:[jetHost], where :[jetHost] is the virtual JET host name defined in the previous step. |
/com/sun/n1osp/autogen-:[jetHost] |
templatePrefix |
Value to use to identify the OS provisioning JET templates. |
OSP_TEMPLATE_ |
If you have acquired Solaris patches, and the JET Solaris image server can access those patches through NFS, you can import those patches to the JET Solaris image server. You can then add these patches to your provisioning plans.
In the Common Tasks section of the N1 SPS browser interface, select OS Provisioning.
On the OS Provisioning Common Tasks page, click Manage in the JET Solaris Image Servers section.
On the Component Details page, select the checkbox for import_product_patches in the Component Procedures table.
In the import_product_patches row, click Run in the Actions column.
On the Plan Details Run page, select the boot and install server to which you want to import the patches from the Current Installations list.
Click Run Selected Installations.
On the Plan Details Run page, specify the variables to use with this plan.
Specify the architecture of the patches.
In the Media Path field, specify the path to the patches.
Click Run (includes preflight).
To provide basic JumpStart functionality, an image of the appropriate Solaris OS media must be installed on the JET server. That image must then be attached to a profile that explains how the image is to be installed.
To provide basic JumpStart functionality, an image of the appropriate Solaris OS media must be installed on the JET server. The version or versions of Solaris to be imported onto the JET server depend on those required by the target servers. You can install multiple versions of the Solaris media on the same JET server at the same time.
While it is recommended that you copy the media to disk on the JET server, it is not strictly required. You can share the physical media appropriately to allow the target servers to boot from it. However, using the physical media severely restricts the performance of the target server build and minimizes your ability to support multiple versions of Solaris.
You can import images created by the setup_install_server command, as well as ISO images. Edit the plan variable settings to specify which images to import.
If you want to fully automate the deployment of the Solaris 9 OS, you must create additional configuration files to accompany your Solaris 9 installation image. For more information, see Automating Solaris 9 Installations on x86 Based Systems.
Mount the Solaris DVD on the JET server, either through a local drive, or by using a shared drive on the network.
In the Common Tasks section of the N1 SPS browser interface, select OS Provisioning.
On the OS Provisioning Common Tasks page, click Import in the Solaris Images section.
On the Plans Details page, click Run.
Choose variables to use for this plan.
To use an existing variables set, select a name from the drop-down menu in the SolarisImage component row of the Plan Parameters table.
To create a new variables set, click Select from List in the SolarisImage component row of the Plan Parameters table.
Click Create Set.
Type a name for the variables set.
Type the Solaris main version number into the version variable.
Type the Solaris minor version number into the release variable.
Verify the remaining variables and change them, if needed.
The following table describes the additional variables and their default values.
Variable Name |
Description |
Default Value |
---|---|---|
architecture |
Architecture of the physical system, for example, SPARC or x86. |
sparc |
installPath |
Unique name for the imported Solaris image. |
Solaris:[version]_:[release]_:[architecture] For example: Solaris9_u7_sparc |
image_path |
Path to where imported image will be stored. |
/export/osp_image/:[installPath] |
image_subnet_addr |
Subnet address of the image server. |
:[target(/):sys.ipAddress] |
image_subnet_mask |
Subnet mask of the image server |
255.255.255.0 |
media_src |
Path to the image files. By default, the software assumes the files are on a DVD disc. |
/cdrom/cdrom0/s0 |
ISO_files |
Space-separated names of ISO files in the media_src directory. The files must be unzipped. Specify the bootable CD as the first ISO in the list. Note – You cannot import cross-platform CD ISO images of the Solaris OS. For example, you cannot import Solaris x86 CD ISO files to a boot and install server running the Solaris OS for SPARC. Solaris SPARC CD ISO files cannot be imported to a Solaris x86 boot and install server. |
sol-10-GA-sparc-v1-iso sol-10-GA-sparc-v2-iso sol-10-GA-sparc-v3-iso sol-10-GA-sparc-v4-iso |
Save the variables set.
Select the variables set that you just saved from the drop-down menu in the SolarisImage component row of the Plan Parameters table.
On the Plan Details Run page, select the JET image server on which to import the image.
The host name of the JET image server ends in -jet.
Click Run Plan (includes preflight).
The JumpStart Enterprise Toolkit (JET) is a set of utilities that simplifies the process of creating the profiles necessary to provision the Solaris OS. Through the N1 SPS browser interface, you can generate the profile keywords and values that are required to perform an automated JET installation of your target host.
If you prefer to not use JET, and create the profile values manually, you can create the Solaris Provisioning profile without using JET modules. See Creating Non-JET Solaris Provisioning Profiles.
Make sure the JET server exists and that the Solaris OS software is available to that server. For more information about creating the JET server, see Setting up the Solaris JET Server. For more information about creating the Solaris image, see How to Import a Solaris Image.
If you are provisioning the Solaris OS on x86 target hosts, you must create a custom JumpStart profile that deletes any existing partitions, and point to that profile in the profile_base_config variable. For instructions about how to create a JumpStart profile that deletes existing partitions with the fdisk keyword, see Solaris 10 Installation Guide: Custom JumpStart and Advanced Installations.
In the Common Tasks section of the N1 SPS browser interface, select OS Provisioning.
On the OS Provisioning Common Tasks page, click Create Profile in the Solaris Images section.
On the Plans Details page, click Run.
Choose variables to use for this plan.
To use an existing variables set, select a name from the drop-down menu in the SolarisImage component row of the Plan Parameters table.
To create a new variables set, click Select from List in the SolarisImage component row of the Plan Parameters table.
Click Create Set.
Type a name for the variables set.
Type the Solaris main version number into the version variable.
Type the Solaris minor version number into the release variable.
Verify the remaining variables and change them, if needed.
The following table describes the additional variables and their default values.
Variable Name |
Description |
Default Value/Example |
---|---|---|
architecture |
Architecture of the physical system, for example, SPARC or x86 |
sparc (Default) |
installPath |
Solaris image name to attach |
Solaris:[version]_:[release]_:[architecture] For example: Solaris9_u7_sparc |
image_path |
Path to location where image file resides |
/export/osp_image/:[installPath] (Default) |
image_subnet_addr |
Subnet address of the image server |
:[target(/):sys.ipAddress] (Default) |
image_subnet_mask |
Subnet mask of the image server |
255.255.255.0 (Default) |
media_src |
Path to the image files. |
/cdrom/cdrom0/s0 (Example) |
ISO_files |
List of ISO files located in the directory specified in the media_src variable |
sol-10-GA-sparc-v1-iso sol-10-GA-sparc-v2-iso sol-10-GA-sparc-v3-iso sol-10-GA-sparc-v4-iso (Example) |
Save the variables set.
Select the variables set that you just saved from the drop-down menu in the SolarisImage component row of the Plan Parameters table.
On the Plan Details Run page, select the JET image server on which to create the profile.
The host name of the JET image server ends in -jet.
If needed, change the Profile Name.
If needed, change the Profile Description.
Update the list of the JET modules to use.
The JET product modules are located on the JET server in the directory /opt/SUNWjet/Products.
By default, the plan variable JET Modules Name(s) lists two JET modules to include in the Solaris profile component:
base_config – Installs and configures the Solaris OS. For information about base_config variables, see Basic Solaris OS Configuration Variables.
spsra – Installs and configures the N1 SPS Remote Agent (RA) on a Solaris system. For information about spsra variables, see Component Variables for Solaris Remote Agents.
base_config is the required JET module for basic Solaris installation. All other /opt/SUNWjet/Products modules are optional. Adding a module name to this list adds the module installation function and configuration variables to the newly created Solaris provisioning profile.
One of the /opt/SUNWjet/Products optional modules is the custom module. The custom module installs arbitrary lists of Solaris packages, patches, and files, and can run arbitrary collections of scripts. See Using the custom Module for further details. You can also write other JET modules. For information about creating JET modules, see Appendix F, Creating Additional JET Modules.
Click Run Plan (includes preflight).
(Optional) Change default profile values.
Navigate to the Solaris folder that contains the new Provision component.
For example, /com/sun/n1osp/autogen-biss1-jet/provision/.
Click the Solaris provisioning component name.
For example, Solaris10_0205_sparc.standard.
Edit default values.
For information about Solaris profile variables, see Appendix B, Solaris Profile Component Variables.
If you are provisioning the Solaris OS to an x86 target host, you must create a custom JumpStart profile that deletes all existing partitions on the target host. For the profile_base_config variable value, point to the location of this profile
To create a variable set for the SolarisImage component, type a command similar to the following example:
# cr_cli -cmd cdb.vs.add -comp NM:/com/sun/n1osp/untyped/SolarisImage \ -name "solaris10sparc" -u admin -p admin -vars "version=10;release=ga;architecture=sparc; \ image_path=/export/install/s10ga-sparc;image_subnet_addr=10.42.42.2; \ image_subnet_mask=255.255.255.0;media_src=" |
To run the plan, type a command similar to the following example:
# cr_cli -cmd pe.p.run -u admin -p admin -PID NM:/com/sun/n1osp/untyped/SolarisImage-create-profile -tar H:NM:biss1-jet -comp - -vs solaris10sparc -pto 30 -nto 10 -f /tmp/solaris-profile |
Note the default N1 SPS user value you specified with the -u option. This user must exist after the OS installation for the N1 SPS Remote Agent software to start on the target host.
If you prefer to manually create the Solaris provisioning profiles, you can create the Solaris profile without using JET modules. This section describes how to create non-JET Solaris profiles.
If you prefer to use JET to generate your profiles, see Creating Solaris Provisioning Profiles With JET.
In certain circumstances, you might want to manually create the Solaris Provisioning profile, rather than generating a profile with JET. For example, if you have an existing custom JumpStart environment that you want to import into your N1 SPS environment, you need to manually create the OS Provisioning profile to include the information about your JumpStart files.
Make sure the Solaris image server exists and that the Solaris operating system software is available to that server. For more information about creating the Solaris image server, see Setting up the Solaris JET Server.
In the Common Tasks section of the provisioning software page, select OS Provisioning.
On the OS Provisioning Common Tasks page, click Create Profile in the Solaris Images section.
On the Plans Details page, click Run.
Choose variables to use for this plan.
To use an existing variables set, select a name from the drop-down menu in the SolarisImage component row of the Plan Parameters table.
To create a new variables set, click Select from List in the SolarisImage component row of the Plan Parameters table.
Click Create Set.
Type a name for the variables set.
Type the Solaris main version number into the version variable.
Type the Solaris minor version number into the release variable.
Verify variables and change them, if needed.
The following table describes the additional variables and their default values.
Variable Name |
Description |
Default Value/Example |
---|---|---|
architecture |
Architecture of the physical system, for example, SPARC or x86 |
sparc (Default) |
installPath |
Solaris image name to attach |
Solaris:[version]_:[release]_:[architecture] For example: Solaris9_u7_sparc |
image_path |
Path to location where image file resides |
/export/osp_image/:[installPath] (Default) |
image_subnet_addr |
Subnet address of the image server |
:[target(/):sys.ipAddress] (Default) |
image_subnet_mask |
Subnet mask of the image server |
255.255.255.0 (Default) |
media_src |
Path to the image files. | |
ISO_files |
List of ISO files located in the directory specified in the media_src variable |
Save the variables set.
Select the variables set that you just saved from the drop-down menu in the SolarisImage component row of the Plan Parameters table.
On the Plan Details Run page, select the Solaris image server on which to create the profile.
The host name of the Solaris image server ends in -solaris.
If needed, change the Profile Name.
If needed, change the Profile Description.
Deselect the checkbox for Use the Jet Modules Specified Above.
Click Run Plan (includes preflight).
To verify that the Solaris profile is created to the Solaris image server, click Components in the left pane of the N1 SPS browser interface.
You should find a provision component in the folder /com/sun/n1osp/autogen-server-name-solaris/provision/, where server-name is the Solaris server name that you provided in the variable set. For example: /com/sun/n1osp/autogen-Solaris9_u7_sparc-solaris/provision/.
(Optional) Change default profile values.
Navigate to the Solaris folder that contains the new Provision component.
For example, /com/sun/n1osp/autogen-biss1-jet/provision/.
Click the Solaris provisioning component name.
For example, Solaris10_0205_sparc.standard.
Edit default values.
For information about Solaris profile variables, see Appendix B, Solaris Profile Component Variables.
If you are provisioning the Solaris OS to an x86 target host, you must create a custom JumpStart profile that deletes all existing partitions on the target host. For the profile_base_config variable value, point to the location of this profile
Click the Edit button at bottom of Details page.
Change values.
If you want to use an existing JumpStart environment for your provisioning plan, set the values for the osp_profile_jumpstart_ip_address and osp_profile_jumpstart_directory variables to point to the directory and IP address of your JumpStart files.
Click the Check-in button at the bottom of the Details page.
To create a variable set for the SolarisImage component, type a command similar to the following example:
# cr_cli -cmd cdb.vs.add -comp NM:/com/sun/n1osp/untyped/SolarisImage \ -name "solaris9" -u admin -p admin -vars "version=9;release=u7;architecture=sparc; \ image_path=/export/install/Solaris_9;image_subnet_addr=10.42.42.2; \ image_subnet_mask=255.255.255.0;media_src=" |
To provide JET module information, create a file /tmp/solaris-profile that contains the following entries:
standard-nojet Standard Solaris base_config spsra false
Where:
The first line in the file corresponds to the Profile Name field in the plan variables section of the browser interface.
The second line in the file corresponds to the Profile Description field in the plan variables section of the browser interface.
The third line in the file corresponds to the JET Module Name field in the plan variables section of the browser interface.
The fourth line in the file corresponds to the Use the Jet Modules Specified Above checkbox in the plan variables section of the browser interface
To run the plan, type a command similar to the following example:
# cr_cli -cmd pe.p.run -u admin -p admin -PID NM:/com/sun/n1osp/untyped/SolarisImage-create-profile -tar H:NM:biss1-jet -comp - -vs solaris9 -pto 30 -nto 10 -f /tmp/solaris-profile |
Note the default N1 SPS user value you specified with the -u option. This user must exist after the OS installation for the N1 SPS Remote Agent software to start on the target host.
The actual provisioning component contains a long list of variables that you might modify. A complete list of all available variables is in Appendix B, Solaris Profile Component Variables.
The following task includes a likely subset of variables for you to change when you install the OS onto a target host.
In the Common Tasks section of the N1 SPS browser interface, select OS Provisioning.
On the OS Provisioning Common Tasks page, click Provision OS in the Solaris Images section.
Navigate to the Solaris folder that contains the provision component.
For example, /com/sun/n1osp/autogen-biss1-jet/provision/
Select the Solaris provisioning component name.
For example, Solaris_9.standard
On the Component Details page, click the Run action next to the Provision_start:Install procedure.
Choose variables to use for this plan.
To use an existing variables set, select a name from the drop-down menu in the component name row of the Plan Parameters table.
To change values in an existing variables set, click Select from List in the component name row of the Plan Parameters table.
Click the Edit button in the column for the variables set to change.
Verify and change variables as needed.
A list of variables, their descriptions, and default values is in Appendix B, Solaris Profile Component Variables.
When all values are correct, click the Save button.
Select the variables set that you just saved from the drop-down menu in the component name row of the Plan Parameters table.
To create a new variables set, click Select from List in the component name row of the Plan Parameters table.
Click Create Set.
Type a name for the variables set.
Verify or change variable values.
Although there are many variables that you might modify, you are likely to change only a few. The variable names and prompts in the Component Variables list should enable you to provide appropriate input for the variables. A list of variables, their descriptions, and default values is in Appendix B, Solaris Profile Component Variables.
When all values are correct, click the Save button.
Select the variables set that you just saved from the drop-down menu in the component name row of the Plan Parameters table.
Select the target host on which to provision the OS.
The target host should have a host name that ends in -target.
Click Run Plan (includes preflight).
When the plan completes and the Solaris image is installed on the target host, you need to login to the target host. The password for the root user is newroot.
If you are provisioning the Solaris 10 1/06 OS for x86 based systems, and the installation fails, verify that the /tftpboot/I86PC.Solaris_10–1 folder exists on the boot and install server. If the folder does not exist, create the folder, then reprovision the target host.
Type a command similar to the following example and replace the name of the component and target with your component name and target:
# cr_cli -cmd pe.p.run -u admin -p admin -PID \ NM:/com/sun/n1osp/autogen-biss1-jet/provision/SolarisProfile-provision-start-Solaris_9.standard \ -tar H:NM:testv240-target -comp + -vs + -pto 60 -nto 60 |
In the Common Tasks section of the N1 SPS browser interface, select OS Provisioning.
On the OS Provisioning Common Tasks page, click Status in the OS Provisioning Administration Tasks section.
On the Plans Details page, click Run.
On the Plan Details Run page, select the target host on which you provisioned the OS.
Click Run Plan (includes preflight).
Follow the Details links to view the status.
In the Common Tasks section of the N1 SPS browser interface, select OS Provisioning.
On the OS Provisioning Common Tasks page, click Abort in the OS Provisioning Administration Tasks section.
On the Plans Details page, click Run.
On the Plan Details Run page, select the target host on which you provisioned the OS.
Click Run Plan (includes preflight).
You might want to periodically delete unused OS images and profiles from your N1 SPS environment.
In the Common Tasks section of the provisioning software page, select OS Provisioning.
On the OS Provisioning Common Tasks page, click Manage in the Solaris Images section.
On the Components Details page, select the checkbox for Uninstall: Delete.
Click Run.
The Soalris OS image is removed from the N1 SPS environment. The image does not appear in the list of images in the View link for Solaris Images section.
The Solaris OS image is not removed from the boot and install server.
In the Common Tasks section of the provisioning software page, select OS Provisioning.
On the OS Provisioning Common Tasks page, click Provision OS in the Solaris Images section.
On the Components page, select the checkbox for the profile that you want to delete.
Click Delete.
To enable a cross-platform installation (for example, to install x86 platforms from a SPARC system), you need to import the architecture-specific installer to the JET Solaris Image server.
In the Common Tasks section of the provisioning software page, select OS Provisioning.
On the OS Provisioning Common Tasks page, click Manage in the JET Solaris Image Servers section.
On the Component Details page, click the Run action next to the import_product_media procedure.
Choose the JET Solaris Image server host on which to import the installer, and click Run Selected Installations.
On the Plans Run page, set the plan variables as follows:
Variable |
Description |
Sample Value |
---|---|---|
JET Module Name |
Name of JET module |
spsra |
Product Version |
Version of N1 SPS installer |
5.2 |
Architecture |
Architecture that applies to RA installer |
sparc |
Media Path |
Path to directory that contains the RA installer |
/net/myothersys/export/ra |
Click Run Plan (includes preflight).
To install from imported RA installers, the Solaris Profile used when installing the RA must have the value for “Install RA from snapshot (y,n)” set to n. See Component Variables for Solaris Remote Agents.
By default, the OS provisioning server supplies the DHCP target host information for boot configuration. In cases of manual reboot for Solaris target hosts, you can use the JET server as an RARP boot params server instead.
When you create the Generic Target host, set the osp_control_service variable to FALSE.
For information about creating the Generic Target host, see Defining a Generic Target Host. Setting the variable to FALSE changes the target host from an OS provisioning-served target host address to a JET-served target host address.
To configure the JET server for RARP boot params service, change the JS_CLIENT_MANAGEMENT value in the /opt/SUNWjet/etc/jumpstart.conf file.
For example, on a SPARC system:
JS_CLIENT_MANAGEMENT="bootp"
When booting the target host, an example console boot command to boot and install a target host over the network is boot net - install.
You can include the custom module in a Solaris profile component at Solaris Profile creation time. When you create the Solaris profile component, the plan variables include JET Module Name(s).
By default, the Solaris profile component includes two JET modules:
base_config – Installs and configures the Solaris OS. For information about base_config variables, see Basic Solaris OS Configuration Variables.
spsra – Installs and configures the N1 SPS Remote Agent (RA) on a Solaris system. For information about spsra variables, see Component Variables for Solaris Remote Agents.
The third available module is custom, which installs arbitrary lists of Solaris packages, patches, and files, and can run arbitrary collections of scripts. To include the custom module in a Solaris profile component, add custom to the JET Module Name(s) plan variable before you create the Solaris profile.
When items in a custom module are installed on the target server, the order of installation is always packages, patches, files, then scripts. If this order does not work for you, you can also create your own JET module. For information about creating JET modules, see Appendix F, Creating Additional JET Modules.
The custom module can be used to install packages and patches at different stages of the build. See Solaris Installation Process through JET.
When you edit the target server template, you can list the names of the additional packages in the configuration variables custom_packages_[1-n], depending on when in the boot sequence the packages need to be installed. Likewise, you can identify patches in the variables custom_patches_[1-n].
Packages and patches are installed in the order given, so you must order them appropriately to satisfy any dependencies between them. If you have many packages or patches, or if a common set is used frequently on several different target servers, consider creating your own module. You might also need to consider this approach if you need to intersperse the installation of packages with patches.
If the product installation includes packages to be installed, a package.matrix file is included which contains a list of supported operating systems and product version numbers with a list of the packages required to be installed. There is also a patch.matrix file which defines the required patches in a similar fashion.
The custom module enables you to define a custom package and patch set on a per target server basis. This module also provides two scripts to enable the package and patch media to be placed in the correct place for the toolkit to find.
When copying patch and package media, the scripts will place the media according to the definitions of JS_PKG_MEDIA and JS_PATCH_MEDIA as found in the toolkit configuration file (/opt/SUNWjet/etc/jumpstart.conf). To use an alternative location to hold all the media, modify the configuration file before executing the scripts.
Custom patches can be placed using the /opt/SUNWjet/bin/copy_custom_patches script:
# copy_custom_patches src-dir patch [patch....] |
This script takes at least two arguments, the first one is the source directory which contains the patches. Any other arguments are then considered to be patch numbers, which are located within the directory and subsequently copied.
Custom packages can be transferred using the /opt/SUNWjet/bin/copy_custom_packages script:
# copy_custom_packages src-dir arch package [package....] |
The arguments are very similar to the arguments used for the custom scripts command, with the inclusion of the additional arch argument, which is used to define the target architecture for the packages. The target architecture will be defined by the output of uname -p on the target server. Currently, the values are either sparc or i386, for SPARC and IA86 architectures respectively.
Custom patches do not need the definition of an architecture, because distinctly numbered patches are released for each architecture for which the package is available.
The custom module cannot contain multiple different versions of the same package for the same architecture. If you need this functionality, consider a specific module to cover these requirements. See Appendix F, Creating Additional JET Modules.
The custom module enables files to be created, overwritten, or appended to on the target server. Files are referenced by a value that defines three items:
The source file, relative to the target server directory within /opt/SUNWjet/Clients on the JumpStart server
The mode of operation, which is either “a” (append) or “o” (overwrite)
The destination file on the target server
For example, for a target server called banana the following line in the custom area of the template would append the contents of the file /opt/SUNWjet/Clients/banana/hosts on the JumpStart server to the file /etc/hosts on the machine banana while it was being built.
custom_files="hosts:a:/etc/hosts"
The source files must be placed correctly before the build of the target server. The files must be located within the /opt/SUNWjet directory tree.
Do not use absolute paths for the source file.
Do not refer to files that are outside of the tree, such as /etc/hosts or /etc/passwd.
The middle field of the triple specifies whether to append or overwrite the destination file on the target server. If a set of files are common to a number of target servers, consider creating a holding area within the /opt/SUNWjet/Clients directory. Place the common files within that directory. The templates for the target servers can then refer to the files as:
custom_files="../common/hosts:a:/etc/hosts ../common/ftpusers:o:/etc/ftpusers"
Where the files are placed in /opt/SUNWjet/Clients/common rather than multiple copies in each target server specific directory. Because the template file is a Bourne shell script, you can use regular techniques to continue lines. Use the \ character, or append information to the variable custom_files="${custom_files} ......".
Custom scripts are defined by the source location of the script. The toolkit will copy the script to the scratch area on the target server during the build and execute it at the appropriate point.
As with the custom files described in the previous section, the source of the script must be within the /opt/SUNWjet directory. The source also can be a relative reference to a common holding area.
The custom module does not offer any provision for executing scripts before the first reboot, when the system is running on the NFS image from the JumpStart server and the real target server filesystem is mounted on $ROOTDIR (/a).
To execute a script prior to the first reboot, consider creating a module as described in Appendix F, Creating Additional JET Modules.