|
|||
1. Introduction to the Automated Installer 2. Automated Installer Task Map 3. Automated Installer Setup Instructions 4. How to Administer an Automated Install Server 5. How to Administer a Custom Install Client 6. How to Administer the Manifest Files for an Install Service How to Create Custom SC Manifest Files How to Assign Manifests to a Client How to Customize Client Installations Using Manifests 7. How to Manage Client Installations |
How to Create New AI ManifestsWhen you create an install service by using the installadm create-service command, an AI manifest is automatically copied to the install service. This manifest has default settings that are sufficient for client installations. However, you can change the specifications in an existing manifest to create specific installations for specific clients. The default AI manifest that is provided with install services is as follows: Example 6-1 Default AI Manifest<ai_criteria_manifest> <ai_embedded_manifest> <ai_manifest name="default"> <ai_pkg_repo_default_authority> <main url="http://pkg.opensolaris.org/release" authname="opensolaris.org"/> <mirror url=""/> </ai_pkg_repo_default_authority> <ai_install_packages> <pkg name="entire"/> <pkg name="SUNWcsd"/> <pkg name="SUNWcs"/> <pkg name="babel_install"/> </ai_install_packages> <ai_uninstall_packages> <pkg name="babel_install"/> <pkg name="slim_install"/> </ai_uninstall_packages> <ai_auto_reboot> false </ai_auto_reboot> </ai_manifest> </ai_embedded_manifest> <sc_embedded_manifest name = "AI"> <!-- <"xml version='1.0'"> <!DOCTYPE service_bundle SYSTEM "/usr/share/lib/xml/dtd/service_bundle.dtd.1"> <service_bundle type="profile" name="name"> <service name="ai_properties" version="1" type="service"> <instance name="default" enabled="true"> <property_group name="ai" type="application"> <propval name="username" type="astring" value="jack"/> <propval name="userpass" type="astring" value="9Nd/cwBcNWFZg"/> <propval name="description" type="astring" value="default_user"/> <propval name="rootpass" type="astring" \ value="$5$VgppCOxA$ycFmYW4ObRRHhtsGEygDdexk5bugqgSiaSR9niNCouC"/> <propval name="timezone" type="astring" value="US/Pacific"/> <propval name="hostname" type="astring" value="opensolaris"/> </property_group> </instance> </service> </service_bundle> --> </sc_embedded_manifest> </ai_criteria_manifest> AI Manifest ContentsThe AI manifest is an XML file that contains a series of fields and field values. Each field and value is enclosed inside XML tags. The XML tags all contain a start tag, such as <name>, and an ending tag, such as </name>. Within each tag, a tag name is given, then that tag's value is given. A tag is a parameter that specifies a piece of information about the manifest itself or about the manifest's installation specifications. Each tag has a value that can be edited to modify the manifest information or to modify the installation specifications in the manifest. For example, see this line in the manifest: <ai_manifest name="default"> This <ai_manifest name> tag assigns a name to the manifest. The value that is given for this tag is “default.” You can change this value. Note - The <ai_manifest name> tag with the value, “default,” indicates that the manifest is the default manifest. There can be only one default manifest per install service. You can modify or replace the default manifest. Note the following information about other fields in the AI manifest:
Note - For a complete summary of the AI manifest contents and possible values, see AI Manifest Contents. How to Replace the Default AI ManifestYou can replace the default AI manifest for an install service with a manifest that you created and revised to suit specific client specifications. Use the following procedure:
Note - The build number or release of the OpenSolaris operating system that you specify in the AI manifest must match the build number or release of the AI ISO image that you specify in the installadm create-service command with the -s option. For further information, see Specifying Packages to Install a Specific Version of OpenSolaris. Examples of Modifying AI Manifest ContentsThe following examples show other options for modifying the contents of AI manifests. Note - The examples in this section are partial excerpts from AI manifest files, showing only the fields being discussed in that example. Only the last example shows a complete AI manifest. For a complete list of the AI manifest contents and possible values, see AI Manifest Contents. Defining an Install TargetTo specify a target on a client for installing the OpenSolaris OS, use the tag, <ai_target_device>, as follows: <ai_target_device> <target_device_name>c0t0d0</target_device_name> </ai_target_device> If you do not specify a target disk, the automated installer chooses a default target for installing the OpenSolaris OS. See 14. How is the default target disk selected?. Using an MPXIO Name as the Install TargetAn MPXIO name, such as c0t0000002037CD9F72d0, can be used instead of cXtXdX since the MPXIO name for the device doesn't change between releases. To use the MPXIO device name as the target device, use the MPXIO name, as per the following snippet: <ai_target_device> <target_device_name>c0t0000002037CD9F72d0</target_device_name> </ai_target_device> Selecting a VTOC Slice to Install OpenSolarisIf a slice isn't specified, the automated installer, by default, selects slice 0 on the client to install the OpenSolaris OS. If you would like to install the OpenSolaris OS on a different slice, you can specify the slice in the AI manifest in the <ai_target_device> tag. This example instructs the installer to install the OpenSolaris OS on slice 4. <ai_target_device> <target_device_name>c0t0000002037CD9F72d0</target_device_name> <target_device_install_slice_number>4</target_device_install_slice_number> </ai_target_device> Automatic Reboot After InstallationBy default, the automated installer doesn't reboot the client after successful installation of an OpenSolaris OS. However, if you want the client to automatically reboot after a successful installation of the OpenSolaris OS, add the XML tag, <ai_auto_reboot>, in the AI manifest, and set the reboot value in that tag to true, as per the following snippet: <ai_auto_reboot> true </ai_auto_reboot> Deleting an fdisk Partition (X86 only)Note - Partition operations are meaningful only for X86 clients. You can delete existing partitions during client installation. Use the tag, <ai_device_partitioning>, and specify the delete action in the tag to delete a partition during installation. <ai_device_partitioning> <partition_action>delete</partition_action> <partition_number>3</partition_number> </ai_device_partitioning> Creating an fdisk Partition (X86 only)Note - Partition operations are meaningful only for X86 clients. You can create a new partition during client installation. Use the tag, <ai_device_partitioning>, and specify the create action in the tag to create a partition during installation. The following example creates a Solaris partition. This example uses Gigabytes (GB) as the unit for partition size. You could use megabytes (MB), terabytes (TB), or sectors to define a partition. <ai_device_partitioning> <partition_action>create</partition_action> <partition_type>SOLARIS</partition_type> <partition_size>30</partition_size> <partition_size_units>GB</partition_size_units> </ai_device_partitioning> Deleting a VTOC SliceYou can delete an existing VTOC slice during client installation. Use the tag, <ai_device_vtoc_slices>, and specify the delete action in the tag to delete a slice during installation. Note - The size element is required, but only for XML validation. <ai_device_vtoc_slices> <slice_action>delete</slice_action> <slice_number>0</slice_number> <slice_size>20</slice_size> </ai_device_vtoc_slices> Creating a VTOC SliceYou can create a new VTOC slice during client installation. Use the tag, <ai_device_vtoc_slices>, and specify the create action in the tag to create a slice during installation. The following example shows how to create a new slice 5. This example uses GB (Gigabytes) as the unit for slice size. <ai_device_vtoc_slices> <slice_action>create</slice_action> <slice_number>5</slice_number> <slice_size>20</slice_size> <slice_size_units>GB</slice_size_units> </ai_device_vtoc_slices> Preserving VTOC SlicesYou can preserve an existing VTOC slice during client installation. Use the tag, <ai_device_vtoc_slices>, and specify the “preserve” action in the tag to preserve an existing slice during installation. The following example shows how to preserve VTOC slice 7. <ai_device_vtoc_slices> <slice_action>preserve</slice_action> <slice_number>7</slice_number> </ai_device_vtoc_slices> Specifying an IPS RepositoryThe automated installer client must install packages from an IPS repository. The IPS repository can be defined in the AI manifest by using the tag <ai_pkg_repo_default_authority>. This example specifies the repository located at http://pkg.opensolaris.org. The name of this repository is opensolaris.org. <ai_manifest name="ai_manifest1"> <ai_pkg_repo_default_authority> <main url="http://pkg.opensolaris.org" authname="opensolaris.org"/> </ai_pkg_repo_default_authority> </ai_manifest> Specifying an IPS Repository MirrorYou can add a mirror to an IPS repository in the AI manifest as in this example: <ai_manifest name="ai_manifest1"> <ai_pkg_repo_default_authority> <main url="http://pkg.opensolaris.org" authname="opensolaris.org"/> <mirror url="http://mymirror.test"> </ai_pkg_repo_default_authority> </ai_manifest> Specifying an HTTP Proxy to Reach an IPS RepositoryThe client needs to reach the IPS repository defined in the AI manifest to install the OpenSolaris OS. In a normal configuration, the DHCP server sends DNS information to the client. This information is used to resolve the IPS repository name to an IP address. In cases where DNS is not set up, an HTTP proxy can be used to resolve the IPS repository name and complete the client installation. The XML tag, <ai_http_proxy>, and value in the manifest can contain the URL of the proxy as follows: <ai_manifest name="http_proxy"> <ai_pkg_repo_default_authority> <main url="http://pkg.opensolaris.org" authname="opensolaris.org"/> </ai_pkg_repo_default_authority> <ai_http_proxy url="http://129.101.77.121:8080"/> </ai_manifest> Specifying Packages to be InstalledThe following packages are needed for a successful installation of the OpenSolaris OS and are included in the AI default manifest:
In the <ai_install_packages> tag, you can additional packages to be added during installation. However, you need to retain the default packages along with the additional packages. In the following example, the openoffice and the SUNWTcl packages are added as part of the OpenSolaris installation. <ai_manifest name="ai_packages"> <ai_install_packages> <pkg name="entire"/> <pkg name="SUNWcsd"/> <pkg name="SUNWcs"/> <pkg name="babel_install"/> <pkg name="openoffice"/> <pkg name="SUNWTcl"/> </ai_install_packages> <ai_uninstall_packages> <pkg name="babel_install"/> <pkg name="slim_install"/> </ai_uninstall_packages> </ai_manifest> Note - The default manifest first installs the babel_install package, then uninstalls it. babel_install is a cluster consisting of set of packages. When the babel_install cluster is installed, all the packages in the cluster are installed. However, you cannot uninstall packages that belong to a cluster. By uninstalling the cluster definition, the individual packages can be deleted later. babel_install is used for convenience to install all the required packages, but the cluster definition is not needed once installation of packages is completed. The default manifest removes the cluster definition, so that further customization of the packages can be done. slim_install is another cluster. And, slim_install is part of babel_install which is installed by the default manifest. The default manifest then uninstalls slim_install, in order to permit customization. Specifying Packages to Install a Specific Version of OpenSolarisIf the packages are specified as package names in the manifest without a version noted, the automated installer installs the latest version of the packages. If you want to install a specific version of the OpenSolaris OS, you can specify the version in the package entire. The IPS repositories include the full FMRI for each version of a package. Use the FMRI string to specify a specific version of the package, entire, in the AI manifest. The following example specifies that OpenSolaris build 111 be installed to the client. <ai_manifest name="ai_packages"> <ai_install_packages> <pkg name="[email protected]"/> <pkg name="SUNWcsd"/> <pkg name="SUNWcs"/> <pkg name="babel_install"/> <pkg name="openoffice"/> <pkg name="SUNWTcl"/> </ai_install_packages> <ai_uninstall_packages> <pkg name="babel_install"/> <pkg name="slim_install"/> </ai_uninstall_packages> </ai_manifest> Note - The build number or release of the AI ISO image that you specify in the installadm create-service command must be the same build number or release of the OpenSolaris operating system that you specify in the AI manifest. Installing From More Than One IPS RepositoryYou can install custom packages from an IPS repository other than the repository that was used for installation by specifying additional IPS repositories in the AI manifest. Use the tag, <ai_pkg_repo_additional_authority>, to add additional repositories to the AI manifest. <ai_manifest name="example1"> <ai_pkg_repo_default_authority> <main url="http://pkg.opensolaris.org" authname="opensolaris.org"/> </ai_pkg_repo_default_authority> <ai_pkg_repo_additional_authority> <main url="http://pkg.mydomain" authname="mydomain"/> </ai_pkg_repo_additional_authority> </ai_manifest> Note - Sometimes a package might be included in more than one repository. IPS searches for that package in the repositories according to the order of the repository in the manifest. When a package match that includes version number is found, then IPS stops the search and installs that package. A Complete AI ManifestThe following example shows a complete AI manifest where all the primary fields are in use. <ai_manifest name="ai_manifest1"> <ai_target_device> <target_device_name>c0t0d0</target_device_name> </ai_target_device> <!-- delete partition 3 --> <ai_device_partitioning> <partition_action>delete</partition_action> <partition_number>3</partition_number> </ai_device_partitioning> <ai_device_partitioning> <!-- Create solaris partition --> <partition_action>create</partition_action> <partition_size>30</partition_size> <partition_size_units>GB</partition_size_units> <partition_type>SOLARIS</partition_type> </ai_device_partitioning> <ai_device_vtoc_slices> <!-- Create VTOC slice 4 --> <slice_action>create</slice_action> <slice_number>0</slice_number> <slice_size>30</slice_size> <slice_size_units>GB</slice_size_units> </ai_device_vtoc_slices> <ai_pkg_repo_default_authority> <!-- IPS repository --> <main url="http://pkg.opensolaris.org" authname="opensolaris.org"/> </ai_pkg_repo_default_authority> <ai_http_proxy url="http://129.101.77.121:8080"/> <!-- Use http proxy to install pkgs from IPS --> <ai_auto_reboot>true</ai_auto_reboot> <!-- Automatic reboot after successful installation --> <ai_install_packages> <pkg name="entire" <pkg name="SUNWcsd"/> <pkg name="SUNWcs"/> <pkg name="babel_install"/> <pkg name="SUNWTcl"/> </ai_install_packages> <ai_uninstall_packages> <pkg name="babel_install"/> <pkg name="slim_install"/> </ai_uninstall_packages> </ai_manifest> |
||
|