Dave et al,

Attached is the current proposed installadm manpage which includes new subcommand usage being introduced by AI projects going on right now, and some in the future. Review and comments would be appreciated, particularly on the usage sections.


thanks,
-ethan


System Administration Commands               installadm(1M)        

NAME
     installadm - Manage automated installations on a network


SYNOPSIS
     /usr/sbin/installadm

     installadm create-service
         [-a|--arch <architecture>]
         [-b|--boot-args <boot property>=<value>,...]
         [-i|--ip-start <dhcp_ip_start>]
         [-c|--ip-count <count_of_ipaddr>]
         [-d|--imagepath <imagepath>]
         [-n|--service <svcname>]
         [-s|--source <srcimage>]
         [-y|--noprompt]

     installadm set-service 
         -o|--option <prop>=<value>... <svcname>

     installadm update-service 
         [-s|--source <srcimage>] <svcname>

     installadm rename-service <svcname> <newsvcname>

     installadm alias-service <svcname> <alias_svcname>

     installadm delete-service [-r|--remove-aliases] <svcname>

     installadm enable <svcname>

     installadm disable [-t|--temporary] <svcname>

     installadm create-client 
         [-b|--boot-args <property>=<value>,...] 
          -e|--macaddr <macaddr> -n|--service <svcname> 

     installadm delete-client -e <macaddr>

     installadm create-manifest 
         -n|--service <svcname> 
         -f|--file <manifest/script_file> 
         [-d|--default]
         [-m|--manifest <manifest_name>]
         [-c|--criteria <criteria=value|range> ... | 
          -C|--criteria-file <criteria.xml>]

     installadm delete-manifest -m|--manifest <manifest_name> 
         -n|--service <svcname>

     installadm update-manifest -m|--manifest <manifest_name>
         -n|--service <svcname>
         -f|--file <manifest/script_file> 

     installadm create-profile -n|--service <svcname>  
         -f|--file <profile|command>... 
         [-p|--profile <profile_name>]
         [-c|--criteria <criteria=value|range> ... | 
          -C|--criteria-file <criteria.xml>]

     installadm delete-profile -p|--profile <profile_name>
         -n|--service <svcname>

     installadm update-profile -p|--profile<profile_name>
         -n|--service <svcname> 
         -f|--file <profile|command> 

     installadm set-criteria -n|--service <svcname>
         -m|--manifest <manifest_name> | 
         -p|--profile <profile_name>
         -c|--criteria <criteria=value|range> ... | 
         -C|--criteria-file <criteria.xml> |
         -a|--append-criteria <criteria=value|range> ... |
         -r|--remove-criteria <criteria> ... 

     installadm export -n|--service <svcname> 
         -m|--manifest <manifest_name> | 
         -p|--profile <profile_name>

     installadm validate -n|--service <svcname> 
         -P|--profile-file <profile_file> | 
         -p|--profile <profile_name>

     installadm list-service [-n|--service <svcname>]

     installadm list-client [-n|--service <svcname>]

     installadm list-manifest [-n|--service <svcname>]

     installadm list-profile [-n|--service <svcname>]

     installadm set-server-auth
         {-k|--ssl-key <ssl_key> |
          -s|--ssl-cert <ssl_certificate>} |
         -a|--add-ca-cert <CA_certificate> |
         -d|--delete-ca-cert <CA_certificate_hash> |
         -r|--revoke-ca-cert <CA_certificate_hash> |
         -M|--master

     installadm list-server-auth

     installadm set-client-auth
         {-e|--macaddr <macaddr> |
          -n|--service <svcname> |
          -g|--global}
         {-k|--ssl-key <ssl_key> |
          -s|--ssl-cert <ssl_certificate>} |
         -a|--add-ca-cert <CA_certificate> |
         -d|--delete-ca-cert <CA_certificate_hash> |
         -r|--revoke-ca-cert <CA_certificate_hash>
         [-E|--encrypt-key 3des|aes] |
         [-H|--hash]

     installadm list-client-auth
         [-e|--macaddr <macaddr> |
          -n|--service <svcname> |
          -g|--global]

     installadm help [<subcommand>]



DESCRIPTION

     The automated installer (AI) is used to automate the 
     installation of the Oracle Solaris OS on one or more 
     SPARC and x86 systems over a network.

     The machine topography necessary to employ AI over the
     network is to have an install server, a DHCP server
     (this can be the same system as the install server),
     and the installation clients.  On the install server,
     installation services are set up to contain an AI
     boot image, which is provided to the clients in order
     for them to boot over the network, AI manifests, one
     of which will be selected for the client, and SMF
     configuration profiles, zero or more of which will be
     selected for the client.

     The AI boot image content is available in the IPS package,
     pkg:/image/autoinstall, and is installed into an
     installation service's image area by the create-service
     command.  The command is also able to use an AI ISO image
     to create the service.

     Installation services are created with a default AI
     manifest, but customized manifests can be added to an
     installation service by using the create-manifest
     subcommand.  The create-manifest subcommand also allows
     criteria to be specified, which is used to determine
     which manifest should be selected for an installation
     client.  Existing manifests in a service can be modified
     by using the update-manifest subcommand and criteria can
     be modified using the set-criteria subcommand.

     Manifests can include information such as a target device,
     partition information, a list of packages, and other 
     parameters (see ai_manifest(4)).  When the client boots,
     a search is initiated for a manifest that matches the
     client's machine criteria.  When a matching manifest is
     found, the client is installed with the Oracle Solaris
     release according to the specifications in the manifest
     file.

     System configuration profiles are complementary to manifests
     in that they also contain specifications for an installation.
     In particular, profiles are used to specify system
     configuration information such as the initial user account
     username and password, timezone, hostname, and system IP
     address.

     Configuration profiles are SMF profiles (see
     service_bundle(4)).  To add profiles to an installation
     service, use the the create-profile subcommand.  As with
     manifests, profiles can be created with criteria specified
     to determine which profile(s) will be selected for an
     installation client.  Existing profiles in a service can
     be modified by using the update-profile subcommand and
     criteria can be modified using the set-criteria subcommand.

     If you want a specific client to use a specific install 
     service, you can associate that client to the service by
     using the installadm create-client subcommand.

     Since profiles can contain sensitive information such as 
     passwords, and since they are exposed on the network when 
     they are delivered to the client, a high level of security 
     checking on profiles has been added.  SSL/TLS is the 
     security model, built upon the WANboot infrastructure 
     generalized to support all architectures. Server and client 
     authentication of profiles is supported.  Keys and 
     certificates can be specified by the user.  Profiles are 
     accessed through the HTTPS protocol which provides 
     encryption and guarantees data integrity as long as the 
     client certificates and keys are distributed securely.
     Security is managed using the following installadm 
     subcommands:
        set-server-auth - configure server authentication
        list-server-auth - list stored server authentication data
        set-client-auth - configure client authentication
        list-client-auth - list stored client authentication data


     The installadm utility can be used to accomplish the 
     following tasks:
     - Set up installation services
     - Set up installation images
     - Set up or delete clients
     - Set up server and client authentication
     - Create or delete manifests
     - Create or delete system configuration profiles
     - Validate a profile
     - Add, modify, or remove criteria for a manifest or profile
     - Export a manifest or profile
     - Enable or disable installation services
     - Update installation services, manifests, and profiles
     - List installation services
     - List clients for an installation service
     - List manifests for an installation service
     - List profiles for an installation service
     - List server and client authentication information

     
SUBCOMMANDS AND OPTIONS
     The installadm command has the subcommands and options 
     listed below. Also, see EXAMPLES below.

    
     installadm

         Displays command usage.

    
     installadm create-service
         [-a|--arch <architecture>]
         [-b|--boot-args <boot property>=<value>,...]
         [-i|--ip-start <dhcp_ip_start>]
         [-c|--ip-count <count_of_ipaddr>]
         [-d|--imagepath <imagepath>]
         [-n|--name <svcname>]
         [-s|--source <srcimage>]
         [-y|--noprompt]

         This command sets up a network boot image (net image)
         in the specified imagepath directory, and creates an
         installation service that specifies how a client booted
         from the net image is installed.

         The AI boot image content is published as the 
         package, image/autoinstall. If the -s option is not
         specified, that package is installed from the first
         publisher in the system's publisher preference list
         that provides an instance of that package. The -s 
         option accepts the pkg specification as a FULL FMRI,
         URI to p5i file, or location of an image ISO file.
         The resulting net image is eventually located in
         <imagepath>.  The net image enables client
         installations.
   
         Note the following specifications:
         - The first installation service of a given 
           architecture that is created on an install 
           server is the service that will be used for all 
           client installations of that architecture that use 
           the install server. If you want a client to use a 
           different installation service from this install
           server, you must use the installadm create-client
           command to create a client-specific configuration. 
         - If an existing installation service name is provided, 
           the command will fail.
         - If the -i option and the -c option are used, 
           and a DHCP server is not yet configured, a DHCP 
           server is configured. 
         - If an already-configured DHCP server exists, 
           that DHCP server is updated.


         -a|--arch   <architecture>
             Selects a specific variant architecture;  valid
             values are i386 or sparc.  If not specified, the
             architecture corresponding to the server's
             architecture is selected.

         -b|--boot-args   <boot property>=<value>,...
             For x86 clients only, sets a property value in
             the service-specific menu.lst file in the service
             image.  Use this option to set boot properties
             that are specific to this service. This option
             can accept multiple property=value pairs.

         -i|--ip-start   <dhcp_ip_start>
             Sets up a new DHCP server. The IP addresses,
             starting from dhcp_ip_start, are set up. The number
             of IP addresses is provided by the -c option.

         -c|--ip-count   <dhcp_ip_cont>
             Sets up a total number of IP addresses in the 
             DHCP table equal to the value of the 
             dhcp_ip_count.  The first IP address is the 
             value of dhcp_ip_start that is provided by the 
             -i option.  

         -d|--imagepath   <imagepath>
             Specifies path at which to create the net image.  
             If not specified, the default location, 
             /export/auto_install/<svcname>, will be used; a 
             confirmation prompt is displayed unless -y is also 
             specified.

         -n|--name   <svcname>
             Uses this installation service name instead of a
             system-generated service name. 

             If -n option is not specified, a service name is
             generated automatically. The image/autoinstall
             package published includes a metadata tag defining 
             a default name that is used by installadm to 
             generate a name for the service. Generated names are
             appended with the architecture of the service in 
             order to allow all architectures to be automatically
             named and served from a single server.

         -s|--source   <srcimage>
             Specifies data source for net image.  This can be
             any of:
             - FMRI of a pkg(5) package
             - URI for a .p5i package info file
             - path to an AI ISO image

             If -s is not specified, the image/autoinstall 
             package from the first publisher in the system's 
             publisher preference list providing an instance of 
             that package is used.

         -y|--noprompt
             Suppresses any confirmation prompts and proceeeds 
             with service creation using the supplied options and 
             any default values (see "-d").



     installadm set-service -o <prop>=<value>... <svcname>
       
         Sets a property of a service to a specified value.
     
         -o|--option   <prop>=<value>...
            Specifies the property and value to set.

            prop=value can be:
                 global-menu=true|false
                 default-manifest=<manifest/script name>

            - global-menu=true|false
              As there are limitations on the size of the
              menu that pxegrub can load, an service property 
              (global_menu) is created for each service, with
              its value set to "true".  If a service should
              be excluded from the any-i386 menu, this
              property can be set to "false". 

            - default-manifest=<manifest/script name>
              The default manifest of a service may not have
              criteria actively associated with it while it is 
              the default. If one uses installadm set-service 
              to make a manifest the default, then its 
              associated criteria become "inactive", and are 
              not considered during manifest selection. 
              Inactive criteria are clearly indicated by the 
              installadm list-manifest command. If a different
              manifest is later made the default, the criteria
              of the formerly default manifest becomes active
              again. 

         <svcname>
              Specifies the name of the installation service
              whose property is being set.



     installadm update-service [-s|--source <srcimage>] <svcname>

         Updates a service by replacing the image currently
         associated with the service. This operation can only
         be carried out on services that were originally created
         from a package instance, not an ISO image.  (See the -s
         option of create-service subcommand.

         -s|--source   <srcimage>
            Specifies full FMRI to package instance or a URI to
            a pgi file.

         <svcname>
            Specifies the name of the installation service to
            update.



     installadm rename-service <svcname> <newsvcname>

         Renames the service to <new_svcname>. If the DHCP
         configuration is being managed locally on the server,
         the macro for the service is renamed.  Any clients
         assigned, or services aliased, to the existing service
         name will be updated to reference the new service name.

         <svcname>
            Specifies the name of the installation service to
            rename.

         <newsvcname>
            Specifies the new name of the installation service.

 

     installadm alias-service <svcname> <alias_svcname>

         Provides an alternate name for a service.  Typically,
         this is used to provide stable service name assignments
         for clients as services are updated from version to
         version.  If the DHCP configuration is being managed
         locally on the server, a macro for the alias service is
         created.

         <svcname>
            Specifies the name of the installation service to
            alias.

         <alias_svcname>
            Specifies the alias name of the installation service.



     installadm delete-service [-r|--remove-aliases] <svcname>

          Deletes an installation service. Accomplishes the 
          following:
          - Removes the installation service from the DHCP 
            configuration.
          - Deletes the manifest, profiles, client configuration
            files, and web server configuration for this
            installation service.   
          - Deletes the pkg image used to instantiate the
            service.

         -r|--remove-aliases   <svcname>
            If specified, any clients assigned to this service,
            and any services aliased to this service, are also
            removed.

         <svcname>
            Specifies the installation service name to delete.



     installadm enable <svcname>

         Enables a specified installation service. Also, enables
         the web server configuration for the service.

         <svcname>
             Specifies the name of the installation service to be
             enabled.



     installadm disable [-t|--temporary] <svcname>

         Disables a specified installation service.  Also,
         disables the web server configuration with the service.

         -t|--temporary
             If specified, the service is temporarily disabled,
             which only lasts until reboot.

         <svcname>
             Specifies the name of the installation service to be 
             disabled.



     installadm create-client  [-b <property>=<value>,...]
                 -e <macaddr> -n <svcname>

         Accomplishes optional setup tasks for a specified 
         client, in order to provide custom client settings that
         vary from the defaults resulting from the installadm 
         create-service command. Enables the user to specify a 
         non-default service name and image path for a client:
         - Specifies installation service for that client.
         - Appropriately links client-specific configuration
           files (wanboot.conf for SPARC, menu.lst for i386)
           to the files for the specified service.
         The DHCP configuration is not updated. If desired,
         the administrator can use appropriate client macros 
         on the DHCP server to assign clients to services.
    
         -b   <property>=<value>,...
              For x86 clients only, sets a property value in the
              client-specific menu.lst file in the service
              image. Use this option to set boot properties that
              are specific to this client. This option can 
              accept multiple property=value pairs.

         -e   <macaddr>
              Specifies a MAC address for the client.
    
         -n   <svcname>
              Specifies the installation service for client 
              installation.
   


     installadm delete-client -e <macaddr>

         Deletes an existing client's specific service 
         information that was previously set up using the 
         installadm create-client command.

         -e   <macaddr>
              Specifies a MAC address for the client.



     installadm create-manifest -n <svcname>
          -f <manifest/script_file> [-d] [-m <manifest_name>]
          [-c <criteria=value|range> ... | -C <criteria.xml>]

         Associates manifests with a specific installation
         service, thus making the manifests available on the
         network, independently from creating a service. When
         publishing a non-default manifest, it is required to
         associate criteria either via criteria entered on the
         command line (-c) or via a criteria XML file (-C).

         A manifest can be created without criteria. Such a 
         manifest will be inactive until criteria are added with
         installadm set-criteria or until the manifest is made 
         the default manifest. In other words, any manifest 
         without criteria that is not the default is inactive. 


         -c   <criteria=value|range> ... 
              Specifies criteria to be associated with the the 
              added non-default manifest. When publishing a 
              default manifest, criteria must not be specified.  
              When publishing a non-default manifest, criteria 
              must be specified.

              Valid criteria are:
                  ARCH  (uname(1) -m)
                  CPU   (uname(1) -p)
                  IPV4  (IP address or range of addresses) 
                  MAC   (MAC address or range of addresses)
                  MEM   (Memory size in megabytes or range of 
                         memory size)
                  PLATFORM  (uname(1) -i)
                      

         -C   <criteria.xml> 
              Specifies the path name of a criteria XML file 
              containing criteria to be associated with the 
              added non-default manifest. When publishing a 
              default manifest, criteria must not be specified.  
              When publishing a non-default manifest, criteria 
              must be specified.

         -d   
              Specifes that this manifest is the
              new default manifest for the service. Any criteria
              associated with the manifest are immediately 
              inactive.

         -f   <manifest_file> 
              Specifies the path name of the manifest to add.

         -m   <manifest_name> 
              Specifies the name of the manifest being created.
              If not provided, the name attribute of the
              <ai_instance> element in the manifest is used.  If
              that attribute is not present, then the manifest
              filename is used.
    
         -n   <svcname>
              Specifies the name of the installation service with
              which this manifest is to be associated.



     installadm delete-manifest -n <svcname> -m <manifest_name>

         Deletes a manifest that was published with a specific 
         installation service.

         -m   <manifest_name> 
              Specifies the name of a manifest as output by 
              installadm list-manifest.

         -n   <svcname>
              Specifies the name of the installation service this 
              manifest is associated with.

    

     installadm update-manifest -n <svcname> -m <manifest_name>
         -f <manifest/script_file> 

         Updates the manifest named <manifest_name> in
         service <svcname>.

         -f   <manifest_file> 
              Specifies the path name of the file with which 
              to update the manifest. 

         -m   <manifest_name> 
              Specifies the name of the manifest to update.
    
         -n   <svcname>
              Specifies the name of the installation service of
              the manifest being updated.



     installadm create-profile -n <svcname>  
          -f <profile|command>... [-p <profile_name>]
          [-c <criteria=value|range> ... | -C <criteria.xml>]

         Associates profiles with a specific installation
         service.  Criteria can optionally be associated with a
         profile by either entering them on the command line (-c)
         or via a criteria XML file (-C).  Profiles created
         without criteria are associated with all clients of the 
         service.

         If multiple "-f"s are used to create more than one 
         profile with the same criteria, then the "-p" 
         option is invalid and the names of the profiles
         are derived from their filenames.


         -c   <criteria=value|range> ... 
              Specifies criteria to be associated with the
              profile.

         -C   <criteria.xml> 
              Specifies the path name of a criteria XML file
              containing criteria to be associated with the
              added non-default manifest. When publishing a
              default manifest, criteria must not be specified.
              When publishing a non-default manifest, criteria
              must be specified.

         -f   <profile|command> 
              Specifies the path name of the file with which to 
              update the profile. Multiple profiles may be 
              specified. 
    
         -n   <svcname>
              Specifies the name of the installation service of
              the profile being updated.

         -p   <profile_name> 
              Specifies the name of the profile being created. 
              If not provided, the name of the profile filename
              is used as the name of the profile.  This optin
              is valid only for single profile creation.



     installadm delete-profile -n <svcname> -p <profile_name>

         Deletes a profile that is associated with a specific 
         installation service.
    
         -n   <svcname>
              Specifies the name of the installation service of
              the profile being deleted.

         -p   <profile_name> 
              Specifies the name of the profile to delete.


     installadm update-profile  -n <svcname> -p <profile_name>
         -f <profile|command> 

         Updates the profile named <profile_name> in
         service <svcname>.

         -f   <profile|command> 
              Specifies the path name of the file with which 
              to update the profile. 
    
         -n   <svcname>
              Specifies the name of the installation service of
              the profile being updated.

         -p   <profile_name> 
              Specifies the name of the profile to update.



     installadm set-criteria  -n <svcname> 
         {-m <manifest_name> | -p <profile_name>}
         {-a|-c <criteria=value|range> ... } |
         { -r <criteria> ... } |
         { -C <criteria.xml> }

         Updates criteria of an already published manifest or
         profile.  Criteria can be specified via the command
         line or or via a criteria XML file. Criteria must be 
         specified with one of the mutually exclusive options,
         -a, -c, -r, or -C.

         Valid criteria are described under create-manifest
         subcommand.

         -a   <criteria=value|range> 
              Specifies criteria to be appended to the existing 
              criteria for the manifest or profile. If the
              criteria specified already exists, the value/range
              of that criteria is replaced by the specified
              value/range.

         -c   <criteria=value|range>  
              Specifies criteria to replace all existing 
              criteria for the manifest or profile.

         -C   <criteria.xml> 
              Specifies the path name of a criteria XML file 
              containing criteria to replace all existing 
              criteria for this manifest or profile.

         -m   <manifest_name> 
              Specifies the name of a manifest.

         -n   <svcname>
              Specifies the name of the installation service
              this manifest or profile is associated with.

         -p   <profile_name>
              Specifies the name of a profile.

         -r   <criteria> 
              Specifies criterion to remove from the manifest.



     installadm export -n <svcname> 
         -m <manifest_name> | -p <profile_name>

         Exports specified manifest or profile to stdout.

         -m   <manifest_name> 
              Specifies the name of a manifest to export.

         -n   <svcname>
              Specifies the service with which this manifest 
              or profile is associated.

         -p   <profile_name> 
              Specifies the name of the profile to export.



     installadm validate -n <svcname> 
         -P <profile_file> | -p <profile_name>

         Validates specified profile.

         -n   <svcname>
              Specifies the service with which this profile is
              associated.

         -P   <profile_file> 
              Specifies the profile file to validate.

         -p   <profile_name> 
              Specifies the name of the profile to validate.



     installadm list-service [-n <svcname>]

         Lists all installation services on a server.

         -n <svcname>
             Lists information about the specific installation
             service on a local server.



     installadm list-client [-n <svcname>]

         Lists all clients of the installation services on a
         local server.

         -n <svcname>
             Lists the client information associated with the
             specified installation service.



     installadm list-manifest [-n <svcname>]

         Lists the manifests associated with the installation
         services on a local server. Manifests will be listed in
         the following order:
              - manifests with active criteria
              - default manifest
              - inactive manifests

         -n <svcname>
             Lists the manifest information associated with the
             specified installation service.



     installadm list-profile [-n <svcname>]

         Lists the profiles associated with the installation
         services on a local server.

         -n <svcname>
             Lists the profile information associated with the
             specified installation service.



     installadm set-server-auth
         {-k|--ssl-key <ssl_key> |
          -s|--ssl-cert <ssl_certificate>} |
         -a|--add-ca-cert <CA_certificate> |
         -d|--delete-ca-cert <CA_certificate_hash> |
         -r|--revoke-ca-cert <CA_certificate_hash> |
         -M|--master

         Provide certificate and key to support AI server
         authentication.

         -a|--add-ca-cert  <CA_certificate>
             Add a new Certificate Authority (CA) certificate
             from a file.

         -d|delete-ca-cert <CA_certificate_hash>
             Delete the specified Certificate Authority (CA)
             certificate specified by its hash value from
             'installadm list-server-auth'.

         -k|--ssl-key <ssl_key>
             Store the SSL encryption key read from the
             specified file.

         -M|--master
             Generate and store a "master" HMAC SHA-1 key for
             WAN boot, used to derive per-client HMAC SHA-1
             hashing keys in a manner described in RFC 3118,
             Appendix A.  Used for SPARC client
             authentication only.

         -r|--revoke-ca-cert <CA_certificate_hash>
             Revoke Certificate Authority (CA) certificate
             specified by its hash value from
             'installadm list-server-auth'.

         -s|--ssl-cert <ssl_certificate>
             Store an SSL certificate read from the specified
             file.


     installadm list-server-auth
         List server authentication information, including its
         encryption key, certificate, Certificate Authority
         certificates and their hash values (used in managing
         the CA certificates after they have been registered),
         and the WAN boot master key (SPARC client
         authentication only).



     installadm set-client-auth
         {-e|--macaddr <macaddr> |
          -n|--service <svcname> |
          -g|--global}
         {-k|--ssl-key <ssl_key> |
          -s|--ssl-cert <ssl_certificate>} |
         -a|--add-ca-cert <CA_certificate> |
         -d|--delete-ca-cert <CA_certificate_hash> |
         -r|--revoke-ca-cert <CA_certificate_hash>
         [-E|--encrypt-key 3des|aes] |
         [-H|--hash]

         Configure client authentication.  Associate keys and
         certificates with either:
           - a specific AI client,
           - all clients (not having their own authentication)
             associated with a specific AI service, or
           - all clients (having neither their own authentication
             nor service authentication)

         -a|--add-ca-cert <CA_certificate>
             Add a Certificate Authority (CA) certificate.

         -d|--delete-ca-cert <CA_certificate_hash>
             Delete Certificate Authority (CA) certificate by
             hash value obtained from
             'installadm list-client-auth'.

         -e|--macaddr <macaddr>
             Set authentication for client with specified
             macaddr.

         -E|--encrypt-key 3des|aes
             Generate and store 3DES/AES encryption key for WAN
             boot.  Used for SPARC client authentication only.

         -g|--global
             Global, applies to all clients with no
             authentication by MAC address or AI service.

         -H|--hash
             Derive and store, from the master key, a HMAC SHA-1
             hashing key for WAN boot, in a manner described in
             RFC 3118, Appendix A.  Used for SPARC client
             authentication only.

         -k|--ssl-key <ssl_key>
             Store an SSL key read from the specified file.

         -n|--service <svcname>
             Set authentication for all clients (without client-
             specific authentication) of specified service.

         -r|--revoke-ca-cert <CA_certificate_hash>
             Revoke Certificate Authority (CA) certificate
             specified by its hash value from
             'installadm list-client-auth'.

         -s|--ssl-cert <ssl_certificate>
             Store an SSL certificate read from the specified
             file.



     installadm list-client-auth
         [-e|--macaddr <macaddr> |
          -n|--service <svcname> |
          -g|--global]

         Lists client authentication information.

         -e|--macaddr <macaddr>
             List client authentication for a particular client.

         -g|--global
             Global, list authentication used for all clients
             without authentication for a specific client or
             service.

         -n|--service <svcname>
             List client authentication for clients using a
             particular service and not having their own
             authentication.



     installadm help [<subcommand>]

         Displays the syntax for the installadm utility.

         <subcommand>
          
              If subcommand is provided, the command 
              provides the syntax for that subcommand.


CRITERIA FILES

     A criteria XML file allows you to specify criteria for a
     manifest or profile by passing the file to the create-
     manifest, create-profile, or set-criteria commands. Criteria 
     can be specified as a value or a range, by using the 
     following tags.

     For a criterion with a specific value:

     <ai_criteria_manifest>
         <ai_criteria name=XXXX>
             <value>yyyy</value>
         </ai_criteria>
     </ai_criteria_manifest>

     where XXXX is the name of the criterion (e.g. MAC, IPV4,
     MEM, or ARCH) and yyyy is the value of the criterion.

     For a criterion with a range:

     <ai_criteria_manifest>
         <ai_criteria name=XXXX>
             <range>
                 yyyy1
                 yyyy2
             </range>
         </ai_criteria>
     </ai_criteria_manifest>

     where XXXX is the name of the criterion (e.g. MAC, IPV4,
     or MEM) and yyyy1 and yyyy2 are the lower and uppper 
     bounds of the range.

     Multiple criteria may be specified in the file between
     the <ai_criteria_manifest> and </ai_criteria_manifest>
     tags.
 

EXAMPLES


     Example 1: Set up an install server and an install 
     service for the first time. The command includes a 
     starting IP address and total count of IP addresses, 
     in order to configure the DHCP server.

     # installadm create-service -n os-dev-131-i386 -a i386
       -i 172.0.0.10 -c 10 -d /export/ai/os-dev-131-i386

     This command would result in the following operations
     (order may vary somewhat):
     1. Create /export/ai/os-dev-131-i386 as a pkg(5) user image
     2. Install the image/autoinstall package into 
        /export/ai/os-dev-131-i386
     3. Generate the Apache configuration at 
        /var/installadm/ai-webserver/ai-httpd.conf, with document 
        root at /etc/netboot.
     4. Generate the pxegrub menu at
        /export/ai/os-dev-131-i386/menu.lst, with contents:

.sp
.in +1
.nf
        default=0
        timeout=30
        min_mem64=1536
        title os-dev-131-i386
        kernel$ /os-dev-131-i386/platform/i86pc/kernel/$ISADIR/unix -B 
install_media=http://172.0.0.1:5555/os-dev-131-i386,install_service=os-dev-131-i386,install_svc_address=172.0.0.1:46501,livemode=text
        module /os-dev-131-i386/platform/i86pc/$ISADIR/boot_archive
.fi
.in -1
.sp
     5. Create the SMF application property group AI_1 on the
        install/server:default instance with properties:
          service_name os-dev-131-i386
          image_path /export/ai/os-dev-131-i386
          txt_record aiwebserver=<hostname>:46501
          status on
          global_menu true
     6. Create the SMF application property group AI_2 on the
        install/server:default instance with properties:
          service_name default-i386
          service_alias os-dev-131-i386
          status on
          global_menu true
     7. Create the SMF application property group AI_3 on the
        install/server:default instance with properties:
          service_name any-i386
          boot_file pxegrub.any-i386
          boot_menu menu.lst.any-i386
     8. Enable the install/server service, which performs any 
        required mounts, including mounting via lofs of 
        /export/ai/os-dev-131-i386 as
        /etc/netboot/os-dev-131-i386 and
        /etc/netboot/default-i386.  This also generates the
        menu.lst.any-i386 and copies the 
        default-i386/boot/grub/pxegrub to pxegrub.any-i386. Since
        this is the first service, the generated GRUB menu will
        be identical to the os-dev-131-i386 GRUB menu.  It also 
        starts the webserver instance to serve images and the 
        criteria server.
     9. Create a DHCP service (if necessary) and provision IP 
        addresses 172.0.0.10 - 172.0.0.19.
     10. Create the DHCP macro AI_os-dev-131-i386:
.sp
.in +1
.nf
        AI_os-dev-131-i386
           :BootSrvA=172.0.0.1:BootFile="os-dev-131-i386/boot/grub/pxegrub":
.fi
.in -1
.sp
     11. Create the DHCP macro AI_default-i386:
.sp
.in +1
.nf
        AI_default-i386  
           :BootSrvA=172.0.0.1:BootFile="default-i386/boot/grub/pxegrub":
.fi
.in -1
.sp
     12. Create the DHCP macro for the any-i386 service:
.sp
.in +1
.nf
        AI_any-i386
           :BootSrvA=172.0.0.1:BootFile="pxegrub.any-i386":
.fi
.in -1
.sp
     13. Create the PXE client class macro pointing at the 
         default-i386 service:
.sp
.in +1
.nf
        PXEClient:Arch:00000:UNDI:002001 :Include=AI_default-i386:
.fi
.in -1
.sp

     At this point, the service is operational and a client 
     booted via PXE will boot and install from the default-i386
     service. If the any-i386 service is made the default used
     by the environment, dhtadm or DHCP Manager can be used to
     change the Include reference on the PXE macro to the 
     AI_any-i386 service.


     Example 2: Use the following sample command to set 
     up a client that references a specific installation service 
     and a specific net image location.

     The installation service and net image should already exist. 

     # installadm create-client -e 0:e0:81:5d:bf:e0 
       -n os-dev-131-i386

     In this example, the command creates a client-specific 
     setup for the system with MAC address of 0:e0:81:5d:bf:e0. 
     
     This client will use the installation service previously 
     set up in Example 1, named os-dev-131-i386.

     Using the -b option, the command sets the console 
     value, <console=ttya>, in the client-specific 
     menu.lst file in the service image.
 
     
     Example 3: Use the following sample command to add
     a new service named os-dev-131-sparc, retaining existing 
     services, and leaving the existing default unchanged:

     # installadm create-service -n os-dev-131-sparc -a sparc
      /export/ai/os-dev-131-sparc


     Example 4: Use the following sample commands to add a
     a new service named os-dev-131-sparc, retaining existing
     services, and making the new service the default:

     # installadm create-service -n os-dev-131-sparc -a sparc
       /export/ai/os-dev-131-sparc

     # installadm alias-service os-dev-131-sparc default-sparc


     Example 5: Use the following sample command to replace the
     image associated with an existing service, os-dev-sparc, 
     leaving the default for the environment unchanged:

     # installadm update-service os-dev-sparc


     Example 6: Use the following sample command to replace
     the default manifest for an existing installation service,
     service_092910, with a custom manifest, my_manifest.xml.
     The manifest contains a name attribute, name="default",
     which designates it as the default manifest, i.e.:
          <ai_instance name="default">
 
     # installadm create-manifest -f my_manifest.xml 
     -n service_092910


     Example 7: Use the following sample command to create a
     rolling default service with automatic naming. The service
     is initially configured with:

     # installadm create-service -a i386 -y

     This creates an x86 service based on the default name under
     the base directory, /export/auto_install, with the 
     default-i386 service aliased to it. An alternate base
     directory can be specified as an additional argument on the
     command line.  Example 1 describes the processing that
     occurs.

     The service can be automatically updated by:

     # installadm update-service default-i386

     This operation checks whether an update is available for the
     default-i386 service. If an update is available, the fact
     that it is an aliased service causes update-service to 
     internally convert to a create-service using the default
     name provided for the update, then re-alias the default-i386
     service to the new service after the create-service has 
     successfully completed. This command can be placed in a
     cron(1M) job to run at convenient times.


     Example 8: Use the following sample command to create two 
     system configuration profiles, myprofile.xml and
     myprofile2.xml, associated with service sparc2:

     # installadm create-profile -f /tmp/myprofile.xml 
         -f /tmp/myprofile2.xml -n sparc2

     Example 9: Use the following sample command to list the
     installation services on a local server:

         # installadm list-service

     In this example, the terminal displays the following output:

.sp
.in +9
.nf
Service Name Status       Arch  Port  Image Path
------------ ------       ----  ----  ----------
svc0811      off          x86   45602 /export/server/osol-0811-ai-x86
svc1006      on           x86   45601 /export/server/osol-1006-ai-x86
svc-bld-127  on           x86   45603 /export/server/osol-b127-ai-x86
.fi
.in -9
.sp


     Example 10: Use the following sample command to list the
     clients for a specific installation service of a local
     server:

         # installadm list-client -n svc-2010-06

     In this example, the terminal displays the following output:

.sp
.in +9
.nf
Service Name Client Address    Arch  Image Path
------------ --------------    ----  ----------
svc-2010-06  01:C2:52:E6:4B:E1 x86   /export/server/sol-1006-ai-x86
.fi
.in -9
.sp


     Example 11: Use the following sample command to list the
     maniifests associated with a specific installation service
     on a local server:

         # installadm list-manifest -n svc-2010-06

     In this example, the terminal displays the following output:

.sp
.in +9
.nf
Manifest          Criteria
--------          --------
devpublisher.xml  arch     = i86pc
                  ipv4     = 010.000.002.015
                  mac      = 01:C4:51:E6:4B:E6 - 01:C4:51:E6:4B:E9
                  mem      = 2048 MB
.fi
.in -9
.sp

     Example 12: Use the following sample command to list the 
     profiles on a local server:

         # installadm list-profile

     In this example, the terminal displays the following output:

.sp
.in +9
.nf
Service Name Profile
------------ -------
sparc2       myprofile.xml
             myprofile2.xml
svc0817      profile3
svc0819      profile4.xml
             newprofile
             foo.xml
.fi
.in -9
.sp

     Example 13: Use the following sample command to add the
     manifest in /export/my_manifest to svc1 with a criterion of
     MAC address equaling "aa:bb:cc:dd:ee:ff":

         # installadm create-manifest -f /export/my_manifest 
           -n svc1 -c MAC="aa:bb:cc:dd:ee:ff" 

     In this example, the manifest does not contain a name
     attribute, so the manifest name is taken from the file name:

         # installadm list-manifest -n svc1

.sp
.in +9
.nf
Manifest          Criteria
--------          --------
my_manifest       mac      = AA:BB:CC:DD:EE:FF
.fi
.in -9
.sp


     Example 14: Use the following sample command to add the 
     manifest in /export/my_manifest to svc1 with the criterion
     of IPv4 range between 10.0.2.100 to 10.0.2.199:

         # installadm create-manifest -f /export/my_manifest
           -n svc1 -m chosen_name -c IPV4=10.0.2.100-10.0.2.199 

     In this example, the manifest name is taken from the -m
     option. 

         # installadm list-manifest -n svc1

.sp
.in +9
.nf
Manifest          Criteria
--------          --------
chosen_name       ipv4 = 10.0.2.100 - 10.0.2.199
.fi
.in -9
.sp

     Example 15: Use the following sample command to add the
     manifest in /export/manifest3 to svc1 with criteria of
     2048MB memory or greater and an architecture of i86pc:

         # installadm create-manifest -f /export/manifest3
           -n svc1 -c MEM="2048-unbounded" -c ARCH=i86pc
     
     In this example, the manifest name is taken from the name
     attribute of the manifest, name="my_name", i.e.:
         <ai_instance name="my_name">

         # installadm list-manifest -n svc1
.sp
.in +9
.nf
Manifest          Criteria
--------          --------
my_name           arch = i86pc
                  mem  = 2048 MB - unbounded
.fi
.in -9
.sp


     Example 16: Use the following sample command to append to
     the criteria of manifest2 of svc1, a criterion of 4096MB
     memory or greater:

         # installadm set-criteria -m manifest2 -n svc1
           -a MEM="4096-unbounded"

     
     Example 17: Use the following sample command to replace the
     criteria of manifest2 of svc1 with the criteria specified by 
     the file, /tmp/criteria.xml:

         # installadm set-criteria -m manifest2 -n svc1
           -C /tmp/criteria.xml
    
     See the CRITERIA FILES section for more information on the
     contents of the criteria xml file.

     Example 18:  Use the following sample command to validate
     the profile, myprofile.xml, in service, svc1:

         # installadm validate -p myprofile.xml -n svc1

     Example 19:  Use the following sample command to export 
     the profile myprofile.xml in service, svc1:

         # installadm export -p myprofile.xml -n svc1


     Example 20: Use the following commands to assign a 
     certificate and key for server authentication and to 
     supply a certificate for the CA that issued the 
     certificate:
.sp
.in +9
.nf
# installadm set-server-auth --ssl-key keyfile.txt --ssl-cert cert.txt
# installadm set-server-auth --add-ca-cert ca.crt
.fi
.in -9
.sp

     Example 21: Use the following commands to assign a 
     certificate and key for authenticating a client by MAC 
     address, supply the certificate against which incoming 
     client connection requests will be authenticated, and 
     display the results:
.sp
.in +9
.nf
# installadm set-client-auth --ssl-key keyfile.txt --ssl-cert cert.txt 
--macaddr 1:2:3:4:5:6
# installadm set-client-auth --add-ca-cert ca.crt --macaddr 1:2:3:4:5:6
# installadm list-client-auth --macaddr 1:2:3:4:5:6
.fi
.in -9
.sp

     Example 22: Use the following command to generate a master 
     key for the server so that client keys can be later 
     generated for SPARC WANboot installations:

          # installadm set-server-auth -M

     Example 23: Use the following commands to generate a hash
     and encryption key (type 3des) for a SPARC client to
     authenticate that client, and then display the generated
     keys for distribution to the client before installation:
.sp
.in +9
.nf
# installadm set-client-auth --encrypt-key 3des --macaddr 1:2:3:4:5:6
# installadm set-client-auth --hash --macaddr 1:2:3:4:5:6
# installadm list-client-auth --macaddr 1:2:3:4:5:6
.fi
.in -9
.sp

     Example 24: Use the following commands to insert the hash 
     and 3des encryption key generated and displayed in the
     previous example into the SPARC client OBP before starting
     the automated installation:
.sp
.in +9
.nf
ok set-security-key wanboot-hmac-sha1 b482aaab82cb8d5631e16d51478c90079cc1d46
ok set-security-key wanboot-3des 
9ebc7a57f240e97c9b9401e9d3ae9b292943d3c143d07f04
.fi
.in -9
.sp



ATTRIBUTES
     See attributes(5) for descriptions of the  following  attri-
     butes:
     ____________________________________________________________
    |       ATTRIBUTE TYPE        |       ATTRIBUTE VALUE       |
    |_____________________________|_____________________________|
    | Availability                | install/installadm          |
    |_____________________________|_____________________________|
    | Interface Stability         | None / Under Development    |
    |_____________________________|_____________________________|


SEE ALSO
     pntadm(1M), dhcpmgr(1M), pkg(5), attributes(5)

     Oracle Solaris Automated Installer Guide on
     http://docs.sun.com/
    
     Getting Started with Oracle Solaris on
     http://docs.sun.com/


                Last Changed March 28, 2011

_______________________________________________
caiman-discuss mailing list
[email protected]
http://mail.opensolaris.org/mailman/listinfo/caiman-discuss

Reply via email to