Installing Solaris 10 on SPARC: Interactive Text Installation Step by Step

Solaris Admin Series, part 14. Previous: Solaris Serial Console Access. Related: part 12, Solaris Hostname, Time Zone, Locale and Keyboard (the same identity questions, answered by hand here), part 11, Solaris Run Levels and Init States (the ok prompt), part 4, Solaris /devices, /dev and /etc/path_to_inst (reading c0t0d0 device names) and part 2, Solaris on SPARC vs x86. Next up: the interactive installation of Solaris 10 on x86.

Solaris 10 is old, but plenty of SPARC servers still run it, and rebuilding one from DVD media over a serial console is a skill you will eventually need: replacing a failed boot disk with no flash archive, building a lab box, or creating a Solaris 10 guest domain on an LDoms host. This post walks through a full interactive text installation of Solaris 10 1/13 (Update 11, the final update) on SPARC, screen by screen, from the ok prompt to the first login, including the choice between a UFS root and a ZFS root pool.

Applies to: Solaris 10 on SPARC only. Solaris 11.4 uses completely different installers (the Text Installer, Automated Installer and Unified Archives; no software groups, no sysidtool, ZFS root only) and gets its own posts later. The x86 install of Solaris 10 (GRUB, fdisk partitions) is the next part.

Prerequisites

  • The Solaris 10 1/13 SPARC DVD image (sol-10-u11-ga-sparc-dvd.iso) from Oracle Software Delivery Cloud or My Oracle Support. Use it under the Oracle license that covers your hardware.
  • Console access, normally the ILOM/ALOM serial console as described in part 13, Solaris Serial Console Access. The installer runs fine at 9600 baud; just be patient.
  • A way to present the media: a physical DVD drive, ILOM Remote Console/storage redirection of the ISO, or, for an LDoms guest, the ISO exported as a virtual disk from the control domain.
  • A target disk of at least 16 GB (more for a ZFS root, which holds swap and dump volumes in the pool). For a ZFS root on SPARC the disk must carry an SMI (VTOC) label; Solaris 10 cannot boot from an EFI-labelled disk.
  • The answers ready on paper: host name, IP address, netmask, default router, DNS servers and domain, NFSv4 domain, time zone, root password, and which network interface is cabled.
  • Firmware that supports Solaris 10 1/13 on your platform (check the server’s product notes; very new SPARC T/M systems only run Solaris 10 inside a guest or kernel zone, not on bare metal).

Step 1: Get to the ok prompt and find the boot device

Connect to the console and bring the host to OpenBoot. From a running Solaris system use init 0; from ILOM, power on and send a break if auto-boot? is true.

-> start /SYS
-> start /HOST/console
...
{0} ok setenv auto-boot? false
auto-boot? =            false
{0} ok devalias
...
cdrom                    /pci@400/pci@2/pci@0/pci@4/scsi@0/disk@p6
disk0                    /pci@400/pci@2/pci@0/pci@4/scsi@0/disk@p0
disk1                    /pci@400/pci@2/pci@0/pci@4/scsi@0/disk@p1
net0                     /pci@400/pci@2/pci@0/pci@6/network@0
...
{0} ok probe-scsi-all

Device paths above are an example from a T-series server; yours will differ. probe-scsi-all lists the disks with their sizes and targets, which helps you match disk0 to the c0t…d0 name the installer will show later. On older sun4u systems, run reset-all before probe-scsi-all after setting auto-boot? false, or the probe can hang.

Step 2: Boot the installer

Command at okWhat you get
boot cdromDefault: the GUI installer if a frame buffer and enough memory exist, otherwise the console text installer
boot cdrom - nowinText installer in a console session (the right choice over a serial console)
boot cdrom - textText installer inside a desktop session (needs a graphics console)
boot cdrom -sSingle-user shell from the DVD miniroot for repairs, not an install
boot net - installNetwork/JumpStart install (covered later in the series)
{0} ok boot cdrom - nowin
Boot device: /pci@400/pci@2/pci@0/pci@4/scsi@0/disk@p6  File and args: - nowin
SunOS Release 5.10 Version Generic_147147-26 64-bit
Copyright (c) 1983, 2013, Oracle and/or its affiliates. All rights reserved.
Configuring devices.
Using RPC Bootparams for network configuration information.
Attempting to configure interface igb0...
Skipped interface igb0
Setting up Java. Please wait...
Beginning system identification...
Searching for configuration file(s)...
Search complete.
Discovering additional network configuration...

Sample output; versions and interfaces vary. “Skipped interface” just means there was no DHCP/RARP answer, which is normal for a manual install.

Step 3: Language and terminal type

The first questions select the installer language and the terminal type. Over ILOM, tip or a modern terminal emulator, choose DEC VT100 or X Terminal Emulator (xterms). A wrong choice here is the main cause of garbled installer screens.

Select a Language

   0. English
   1. French
   ...
Please make a choice (0 - 9), or press h or ? for help: 0

What type of terminal are you using?
 1) ANSI Standard CRT
 2) DEC VT52
 3) DEC VT100
 4) Heathkit 19
 5) Lear Siegler ADM31
 6) PC Console
 7) Sun Command Tool
 8) Sun Workstation
 9) Televideo 910
 10) Televideo 925
 11) Wyse Model 50
 12) X Terminal Emulator (xterms)
 13) CDE Terminal Emulator (dtterm)
 14) Other
Type the number of your choice and press Return: 3

Function keys over a serial console

Every installer screen has a footer like F2_Continue F3_Go Back F4_... F5_Exit F6_Help. Function keys rarely survive a serial session, so use Esc then the digit: Esc 2 for F2 (Continue), Esc 3 for F3, and so on. Move between fields with the arrow keys or Ctrl–N/Ctrl–P, and select an option with Space or X.

Step 4: System identification (sysidtool)

These screens are the interactive version of a sysidcfg file; the same settings and their files were explained in part 12, Solaris Hostname, Time Zone, Locale and Keyboard. In order:

ScreenTypical answerNotes
Network ConnectivityNetworked: YesNo sets only loopback; you can configure later
Multiple Network InterfacesSelect the cabled one, e.g. igb0Only one interface is configured here; add the rest after install
DHCPNoServers normally get static addresses
Host Namesol10aShort name, not the FQDN
IP Address / Subnet / Netmask192.168.10.21, Yes, 255.255.255.0Written to /etc/hostname.igb0 and /etc/inet/netmasks
IPv6No unless you need it
Default RouteSpecify one: 192.168.10.1“Detect one” relies on router discovery
KerberosNoConfigure later if needed
Name ServiceDNS (or None/NIS/NIS+/LDAP)DNS asks for the domain, up to three servers and search domains
NFSv4 DomainUse the NFSv4 domain derived by the systemSet explicitly if your NFS servers use a specific domain
Time ZoneGeographic region, e.g. Americas / United States / CentralBecomes TZ=US/Central or America/Chicago in /etc/default/init
Date and TimeConfirmSet NTP afterwards
Root PasswordTwiceStored in /etc/shadow
Network Security (Enabling remote services)NoNo = Secure by Default (generic_limited_net profile): only SSH listens for remote connections
Oracle Configuration Manager / Auto RegistrationDisable, or provide support credentialsShown on Update 9 and later; disable on isolated networks

Each group ends with a confirmation screen; check it carefully and press Esc 2. A typo in the IP or netmask is far easier to fix here than after the reboot.

Step 5: Installation options and software

Solaris Interactive Installation
  Select Standard to install from DVD, or Flash to install from a Flash Archive.
  F2_Standard   F4_Flash   F5_Exit   F6_Help

Eject a CD/DVD Automatically?   [X] Automatically eject CD/DVD
Reboot After Installation?      [X] Auto Reboot   [ ] Manual Reboot

Choose Manual Reboot the first time, so you can read the summary and look at the logs before the system restarts. Then accept the license, select the geographic regions (locales) you need (each adds packages; for most servers the default plus en_US.UTF-8 is enough), the default system locale, and skip “Additional Products”.

UFS or ZFS root

Since Solaris 10 10/08 the installer asks which file system to use for root. Choose ZFS unless you have a specific reason for UFS: it gives you boot environments with Live Upgrade, snapshots and an easy root mirror. UFS installs put each file system on its own VTOC slice that you size by hand.

Software group

Software groupCluster nameWhen to use it
Entire Distribution plus OEM SupportSUNWCXallDefault safe choice; includes drivers for hardware you may not have
Entire DistributionSUNWCallEverything except extra OEM drivers
Developer System SupportSUNWCprogHeaders, man pages and development tools, no extra apps
End User System SupportSUNWCuserDesktop user packages
Core System SupportSUNWCreqMinimal server base; you will add packages by hand
Reduced Network SupportSUNWCrnetSmallest, appliance-style installs

Pick SUNWCXall unless you know you need a minimized system; patching and third-party installs are much less painful on a full install. Software group trade-offs and minimization get their own post shortly. The installer shows the recommended size for each group.

Step 6: Disks and file system layout

ZFS root

Select one disk, or two for a mirrored root pool (the installer builds the mirror for you). Then configure the ZFS settings:

Configure ZFS Settings
  Name of ZFS Root Pool:           rpool
  Name of Boot Environment:        s10s_u11wos_24a
  Size of Swap Area (MB):          4096
  Size of Dump Area (MB):          2048
  (X) Keep / and /var combined
  ( ) Put /var on a separate dataset

Giving /var its own dataset stops runaway logs or core files from filling root; you can set a quota on it later. Swap and dump are ZFS volumes (rpool/swap, rpool/dump) and can be resized after installation.

If the installer refuses a disk or shows no usable slice, the disk probably has an EFI label (for example from a previous ZFS whole-disk pool or another OS). Exit to a shell (Esc 5, or boot cdrom -s) and relabel it:

# format -e c0t0d0
format> label
[0] SMI Label
[1] EFI Label
Specify Label type[1]: 0
Warning: This disk has an EFI label. Changing to SMI label will erase all
current partitions.
Continue? y
format> partition
partition> print        # make slice 0 cover the disk for a ZFS root
partition> 0
...
partition> label
partition> quit
format> quit

UFS root

For UFS, the installer offers Auto Layout. Typical server layouts keep it simple: / on slice 0, swap on slice 1, slice 2 as the whole-disk “backup” slice (never use it for data), and /var and /export/home on their own slices. Leave a small slice (slice 7 is traditional) free if you plan to use Solaris Volume Manager state database replicas to mirror root later.

Step 7: Review the profile and install

Profile
  Installation Option:     Initial
  Boot Device:             c0t0d0
  Root File System Type:   ZFS
  Client Services:         None
  Regions:                 North America
  System Locale:           U.S.A. (en_US.ISO8859-1)
  Software:                Solaris 10, Entire Distribution plus OEM support
  Pool Name:               rpool
  Boot Environment Name:   s10s_u11wos_24a
  Pool Size:               69688 MB
  Devices in Pool:         c0t0d0

Press Esc 2 to begin. A full install takes from 20 minutes to well over an hour depending on media and disk speed; progress shows as a percentage bar. With Manual Reboot selected you get a shell prompt at the end, where you can read /a/var/sadm/system/logs/install_log before typing reboot.

Step 8: First boot and boot-device

Make sure OBP boots from the new disk, not the DVD, and turn auto-boot? back on:

{0} ok setenv boot-device disk0
{0} ok setenv auto-boot? true
{0} ok boot

For a mirrored rpool, list both disks so the system can boot from either: setenv boot-device disk0 disk1. From Solaris you can do the same with eeprom boot-device="disk0 disk1" and eeprom "auto-boot?=true". On the first boot SMF imports its service manifests, which takes a few minutes, and then you get the console login.

Verification

# cat /etc/release
                   Oracle Solaris 10 1/13 s10s_u11wos_24a SPARC
  Copyright (c) 1983, 2013, Oracle and/or its affiliates. All rights reserved.
                            Assembled 17 January 2013
# cat /var/sadm/system/admin/CLUSTER
CLUSTER=SUNWCXall
# zpool status rpool
  pool: rpool
 state: ONLINE
 scan: none requested
config:

        NAME        STATE     READ WRITE CKSUM
        rpool       ONLINE       0     0     0
          c0t0d0s0  ONLINE       0     0     0

errors: No known data errors
# zfs list -r rpool
# lustatus
# swap -l ; dumpadm
# svcs -xv
# ifconfig -a ; netstat -rn
# eeprom boot-device auto-boot?
  • /etc/release and uname -a show the release and kernel patch level (see part 5, Solaris First-Day Commands).
  • CLUSTER confirms the software group that was installed.
  • lustatus lists the boot environment created by the installer (ZFS root), ready for Live Upgrade.
  • svcs -xv should print nothing; anything listed is a service in maintenance that needs a look.
  • netstat -rn shows the default route, and nslookup or getent hosts tests DNS (remember /etc/nsswitch.conf needs dns on the hosts line, which the installer sets when you choose DNS).

Adding a root mirror after a single-disk ZFS install

If you installed on one disk, attach a second one later. Give it the same SMI label and slice 0, attach it, and install the ZFS boot block so it is bootable:

# prtvtoc /dev/rdsk/c0t0d0s2 | fmthard -s - /dev/rdsk/c0t1d0s2
# zpool attach rpool c0t0d0s0 c0t1d0s0
# zpool status rpool          # wait for the resilver to finish
# installboot -F zfs /usr/platform/`uname -i`/lib/fs/zfs/bootblk /dev/rdsk/c0t1d0s0
# eeprom boot-device="disk0 disk1"

Test it in a maintenance window with boot disk1 from the ok prompt.

Installing into an LDoms guest domain

On an Oracle VM Server for SPARC host, export the ISO read-only from the control domain and boot the guest from it. The guest console is reached through vntsd, as in part 13.

primary# ldm add-vdsdev options=ro /iso/sol-10-u11-ga-sparc-dvd.iso s10iso@primary-vds0
primary# ldm add-vdisk s10iso s10iso@primary-vds0 ldg1
primary# ldm start ldg1
primary# telnet localhost 5000
{0} ok devalias          # the ISO shows up as s10iso
{0} ok boot s10iso - nowin

Inside the guest the target disk appears as c0d0 (a virtual disk has no target number). Remove the ISO with ldm rm-vdisk after the install. LDoms get a full block of posts later in the series.

Troubleshooting and gotchas

  • Garbled or flickering screens. Wrong terminal type. Restart the install and choose DEC VT100, or fix the emulator so it really is a VT100/xterm and your window is at least 80×24.
  • F2 does nothing. Use Esc 2. Over tip, also check you are not swallowing escapes in an outer ssh session.
  • “Can’t open boot device” at boot cdrom. No media, the wrong alias, or ILOM storage redirection not connected. Check devalias and probe-scsi-all, or boot the full device path.
  • Installer drops to “The system is being initialized” and stalls. Often too little memory for the GUI; boot again with - nowin.
  • No disks found. The controller needs a driver missing from the media (newer HBAs), the disk is reserved by another host, or it is part of a hardware RAID volume that is not created yet. Check from the shell with format and cfgadm -al.
  • ZFS root option missing or disk rejected. EFI label (relabel SMI as above), or the disk is larger than 2 TB, which a VTOC label cannot address.
  • Box boots back into the installer. boot-device still points at the DVD or net; set it to the disk alias.
  • Need to see why something failed. Logs are in /var/sadm/system/logs/ (install_log, sysidtool.log, begin.log, finish.log); during the install the target is mounted on /a.
  • Root cannot log in over SSH. Expected: PermitRootLogin no in /etc/ssh/sshd_config and CONSOLE=/dev/console in /etc/default/login. Create an admin user and use su - or RBAC.
  • Patch it. The DVD is from 2013. Apply the current Recommended Patchset (with a valid support contract) before putting the system into service; patching gets its own section later.

What’s next in the Solaris Admin Series

Next up is the interactive Solaris 10 installation on x86, where GRUB, fdisk partitions and the Solaris VTOC inside them change the disk steps. After that come software groups and minimization, sysidcfg for hands-off identification, and JumpStart. Catch up with part 13, Solaris Serial Console Access, part 12, Solaris Hostname, Time Zone, Locale and Keyboard, part 11, Solaris Run Levels and Init States, part 4, Solaris /devices, /dev and /etc/path_to_inst and part 1, Solaris 10 and 11.4 Releases and Support Lifecycle.

Official references: Oracle Solaris 10 1/13 Installation Guide: Basic Installations, Installation Guide: Planning for Installation and Upgrade and ZFS Administration Guide (Installing and Booting an Oracle Solaris ZFS Root File System) in the Oracle Solaris 10 1/13 Information Library; boot(1M), eeprom(1M), format(1M), installboot(1M), sysidcfg(4) and zpool(1M); and the OpenBoot command reference for your server.

Leave a Reply

Your email address will not be published. Required fields are marked *