Simple Solaris 11 Automated Installation Server (sparc client)

Notes for setting up a Solaris 11 AI (Automated Installation) server for booting a SPARC system over the network, then booting it without using DHCP (which might conflict with another DHCP server on the network)

Background reading:
Oracle's Documentation
Blog entry on Sparc installs without DHCP

create our service -- this will create the equivalent of a jumpstart boot server.

installadm create-service  -n s11sparc_install -a sparc

Or we can use do this from an AI ISO file, per the manual page for installadm:
_installadm create-service -n sol-11_1-sparc
       -s /export/isos/sol-11_1-ai-sparc.iso
       -d /export/images/sol-11_1-sparc

This would allow us, for example, to use an older AI installation -- e.g. if we have an install server running 11.1 but want to install a client running 11.0 for testing.

Note: the install server tells the client which miniroot to download based on the service selection above. This install server needs to match the Solaris version we're installing (for the ultra-simple case, with no criteria set up, our client will look at the default-sparc alias). 

To install from a local pkg server rather than oracle's public server, we customise the publisher URL the client will use (Documentation link)

installadm export -n s11sparc_install -m orig_default -o /tmp/localrepo.xml

… near the bottom, specify our local repo mirror -- customise the IP.

        <publisher name="solaris">
          <origin name=""/>

set this as default manifest:

installadm create-manifest -n s11sparc_install -d
 -f /tmp/localrepo.xml -m localrepo

installadm list -n s11sparc_install -m

installadm create-manifest -n default-sparc -d
 -f /tmp/localrepo.xml -m localrepo

installadm list -n default-sparc -m

Booting with "boot net - install" should now perform a fully automated installation, using the first appropriate disk as an installation target.

"boot net - install aimanifest=prompt" will allow us to specify a manifest XML file at boot time, avoiding the need to worry about manifest selection criteria for very small deployments

... and with "boot net" will boot from the network, and give a prompt to do an interactive installation, or use a shell which we can use as a recovery environment (very useful if things are really broken).

On the client we should be able to boot using something like this for an interactive installation -- note that this won't use the manifest file we created above.

{28} ok show-nets
a) /pci@13,700000/network@0,3
b) /pci@13,700000/network@0,2
c) /pci@13,700000/network@0,1
d) /pci@13,700000/network@0
Enter Selection, q to quit: c
/pci@13,700000/network@0,1 has been selected.
Type ^Y ( Control-Y ) to insert it in the command line.

{28} ok nvalias net /pci@13,700000/network@0,1
{28} ok

{28} ok setenv network-boot-arguments host-ip=,router-ip=,subnet-mask=,file=
{28} ok boot net -sv

_[long output clipped] _

Configuring devices.
Hostname: solaris
Requesting System Maintenance Mode

Enter user name for system maintenance (control-d to bypass): root
Enter root password (control-d to bypass):
single-user privilege assigned to root on /dev/console.
Entering System Maintenance Mode

Dec  4 01:53:31 su: 'su root' succeeded for root on /dev/console
Oracle Corporation    SunOS 5.11    11.1    September 2012
root@solaris:~#  exit

… system presents a menu offering to install etc.

Fully automated install testing can wait for another day.