Booting and Installing with Bootable AI

My last couple of blogs have been about creating a manifest to be used when installing a system with the Solaris 11 Express Automated Installer.  Now that we have this basic manifest constructed, let's install a system.

To review, the Automated Installer is the facility in Solaris 11 Express that supports network-based installation.  The manifest used with AI determines what is installed and how the system is customized during installation.  

Typically, one would set up a network install service and fetch the manifest from there.  However, sometimes this is not desired or practical.  An option in these cases is to use bootable AI.  In this case, you boot the system to be installed from the AI ISO image.  During the boot process, you are prompted for a URL that points to a valid AI manifest.  This manifest is just fetched using HTTP (wget is actually used).  So, so long as you can get to the manifest, you are good to go.  Once fetched, the manifest is validated and acted upon to complete the installation.

In this installment, we will go through the boot process.  In particular, I will show what this looks like on an x86 host.  For details on SPARC, see my previous blog.

So, to start, boot your system from the Automated Install (AI) ISO.  When presented with the Grub menu, the default selection is to use a custom manifest.  This selection is the one we want and will prompt us for the URL of the manifest.  The other options allow you to use the default manifest built into the ISO and to perform the installation across a serial connection.



After the system has booted the small Solaris image on the AI ISO, you will be prompted for the URL of the manifest.



AI fetches the manifest and begins the installation process.  The installation goes on in the background rather than on the console.  Like the LiveCD installation, Solaris is running at this point.  If you want to monitor the progress of the installation, log in as the default admin user included in the ISO image.  The default login name is jack, with the password jack.  Once you have logged in, you can monitor the progress of the installation by tailing the installation log, found in /tmp/install_log.



Since Solaris is up and running, it is possible to enable network logins to the system while it is still installing.  To do this, su to root and enable the ssh service  (svcadm enable ssh).  Once ssh is enabled, you can ssh into the system as jack.  I have sometimes found this to be a useful tool when installing a virtual machine over a slow and unreliable network, where VNC is unable to sustain its required bandwidth.

Once the installation completes, you can reboot the system.  Of course, the regular first-boot SMF import will happen.  And the services that we configured in the last section will be activated to configure the networks and system identity. Once all of this complete, the system is ready for use.  The piece that you might have noticed is missing is any sort of finish-script customization.  Stay tuned for future installments to cover this.

Using the bootable AI, it is simple to provide a manifest via a simple URL and perform a near-hands-free, customized installation of the system.  It is important to note that DHCP is still used to fetch an address for the system, along with routing and DNS information.  For a truly hands-free installation, a network-based install server and install service would have to be created.
Comments:

Hi,

In the comments of the entry titled "Configuring Bootable AI in Solaris 11 Express", you answer that the need for a DHCP is not mandatory anymore for a bootable AI by launching the installation, configure the network manually, and then let the installation proceed.

Or, in this entry you just said: "It is important to note that DHCP is still used to fetch an address for the system, along with routing and DNS information."

So my question is: Is it possible to bypass the need for a DHCP server, and if so, what are the steps to configure manually the bootable AI?

Thank you.

--
Best regards,
Julien Gabel.

Posted by Julien Gabel on December 22, 2010 at 12:32 AM EST #

Julien,

DHCP is \*almost\* mandatory, but you can get around it. But, to get around it is manual and sort of a pain.

In order to avoid using DHCP, you have to boot the system into the AI ISO without the network, configure the network, fetch the manifest, and enable the auto-installer service. This will work for both SPARC and x86, changing the boot process for OBP or grub.

So, boot the AI ISO. Log in as jack, so to root. Disable NWAM so you can configure the network. Enable the default network configuration service instead. Manually plumb the network, assign an address and a gateway. You will want to also configure DNS (/etc/nsswitch.conf and /etc/resolv.conf) so that the names in the manifest of the repositories can be resolved. Otherwise the package transfers will fail.

# svcadm disable network/physical:nwam
# svcadm enable network/physical:default
# ifconfig bge0 plumb
# ifconfig bge0 192.168.100.10 netmask 0xffffff00 broadcast + up
# route add default 192.168.100.1 1

Now, you have to get the manifest.

# /usr/sbin/get_manifest /var/ai

This fetches the manifest via HTTP (same prompt as in the automatic DHCP approach) and makes it ready for the installer.

Then enable the auto-installer and things continue.

# svcadm enable svc:/application/auto-installer:default

Clearly, this is all going to require a non-networked way to get to the system console (ILOM, VNC to a VM, whatever). And it's not at all automatic, and a bit of a pain. But, it will work.

Posted by Scott Dickson on December 22, 2010 at 02:29 AM EST #

Post a Comment:
  • HTML Syntax: NOT allowed
About

Interesting bits about Solaris, Virtualization, and Ops Center

Search

Archives
« April 2014
SunMonTueWedThuFriSat
  
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
   
       
Today