Solaris 11 Express Interactive Installation
By Dave Miner on Nov 16, 2010
One thing I didn't note in my previous entry on the Solaris 11 Express 2010.11 release is that there are some new developments in installation since the last available builds of OpenSolaris. This post just discusses the interactive installation options, while a subsequent entry will discuss the Automated Installer.
Before digging into the details, it's probably useful to explain the philosophy of the interactive installers a bit for those encountering them for the first time, as it is somewhat of a departure from Solaris 10 and prior. Our basic guiding principle is probably best summarized as, "Get the system installed and get out of the way." To elaborate a bit, the idea is to collect a minimal amount of configuration required to make the installed system functional, execute the install quickly, and let the user get on with using the system. That means that a lot of the configuration you might have been asked about in past Solaris releases, such as Kerberos or NFS domains, or installing additional, layered software, are just not present. You're asked only to select a disk, partition it a bit if you want, provide timezone and locale, and create a user account. You're also not prompted to interactively select the software to be installed. Instead, the software that's present on the media is what's installed, providing a useful starting point at first boot. From there, you can use tools like the pkg CLI or the Package Manager GUI to customize software to your heart's content, all installed from the convenience of a software repository on the network.
There are several reasons why we think this shift is appropriate. First, many of the configuration settings that were prompted for in the past were of interest to only small minorities of users. That means we were making it harder for the majority, which is almost always a bad choice. Second, we've put in a concerted effort over the past 5+ years to make Solaris configured more correctly to start with, and more capable of self-configuring, so that more users get the best results, not just those who can figure out the right knobs to twist. The end results should be better for all of us in the Solaris ecosystem, as behavior will be more consistent and predictable. Finally, in terms of software selection, we've reached the point where the commonly-available media format (DVD) just isn't large enough to incorporate all the software we want to provide as part of the product - we've just plain outstripped the rate of improvement in software compression technology. It's well past time that we oriented Solaris towards a network-centric software delivery paradigm.
The most obvious difference to OpenSolaris users is the addition of the Text Installer, a curses-based interactive UI designed to run comfortably on all those servers out there that have only serial consoles. Those that were following the OpenSolaris development train did see a late preview of this from the project team back around build 134, but S11 Express is the first release that includes this installer. This now means that there is an interactive install option for SPARC users, as the GUI install is offered only on the x86 live CD.
Philosophically, this UI shares a fair amount with the GUI: it's a fairly streamlined experience that doesn't allow customization of the software payload, but does allow a little more freedom in disk configuration (most notably, the ability to preserve existing VTOC slices). Like the GUI, the installation is a direct copy of the media contents, so what is included on the media defines the installation.
Initially, we've opted to include this installer only on a new, separate ISO download, identified as Text Install on the downloads page. This image might be more accurately called "Server Install", as that's what it really is meant to be: a generic server installation that includes most, if not all, of the Solaris server elements, but omits the GNOME desktop and related applications. If this is the image you downloaded and installed but you really wanted the GNOME desktop (easy to do since it's the first image on the page), then the easy solution is to install the package set that appears on the live CD media; you can accomplish that with the command pkg install slim_install, slim_install being the IPS group package that we use to define the live CD contents. Incidentally, the group package that defines the text install media contents is the server_install package.
One thing that server administrators will undoubtedly find missing is the ability to directly configure the network as part of the install; right now it defaults to the automatic configuration technology we call Network Auto-Magic (or NWAM). We do plan to extend the text installer to also provide static network configuration, so you'll be able to supply an IP address and nameservice configuration directly, rather than having to do this post-installation.
The GUI installer has undergone some small changes from the versions provided with OpenSolaris. If the last time you used it was with OpenSolaris 2009.06, the biggest difference is that it provides support for extended partitions, which provides a little more flexibility in dealing with the limitations of the x86 partitioning scheme and eases co-existence with other OS's in multi-boot configurations. The other change here, more subtle, is that the UI no longer separately prompts for the root password. Instead, the password for the root role is set to the same password as the initial user account (which is now required, where it was optional during OpenSolaris releases). The root password is created as expired, however, so first time you su to root, you'll be prompted to change the password. Finally, the initial user account is no longer assigned the Primary Administrator profile to enable administrative access. Instead, the user account retains access to the root role, and is also given all access to sudo. The text installer does allow independent setting of the root password at this release, but we expect to align it with the GUI in a future build.