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 ok | What you get |
|---|---|
boot cdrom | Default: the GUI installer if a frame buffer and enough memory exist, otherwise the console text installer |
boot cdrom - nowin | Text installer in a console session (the right choice over a serial console) |
boot cdrom - text | Text installer inside a desktop session (needs a graphics console) |
boot cdrom -s | Single-user shell from the DVD miniroot for repairs, not an install |
boot net - install | Network/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:
| Screen | Typical answer | Notes |
|---|---|---|
| Network Connectivity | Networked: Yes | No sets only loopback; you can configure later |
| Multiple Network Interfaces | Select the cabled one, e.g. igb0 | Only one interface is configured here; add the rest after install |
| DHCP | No | Servers normally get static addresses |
| Host Name | sol10a | Short name, not the FQDN |
| IP Address / Subnet / Netmask | 192.168.10.21, Yes, 255.255.255.0 | Written to /etc/hostname.igb0 and /etc/inet/netmasks |
| IPv6 | No unless you need it | |
| Default Route | Specify one: 192.168.10.1 | “Detect one” relies on router discovery |
| Kerberos | No | Configure later if needed |
| Name Service | DNS (or None/NIS/NIS+/LDAP) | DNS asks for the domain, up to three servers and search domains |
| NFSv4 Domain | Use the NFSv4 domain derived by the system | Set explicitly if your NFS servers use a specific domain |
| Time Zone | Geographic region, e.g. Americas / United States / Central | Becomes TZ=US/Central or America/Chicago in /etc/default/init |
| Date and Time | Confirm | Set NTP afterwards |
| Root Password | Twice | Stored in /etc/shadow |
| Network Security (Enabling remote services) | No | No = Secure by Default (generic_limited_net profile): only SSH listens for remote connections |
| Oracle Configuration Manager / Auto Registration | Disable, or provide support credentials | Shown 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 group | Cluster name | When to use it |
|---|---|---|
| Entire Distribution plus OEM Support | SUNWCXall | Default safe choice; includes drivers for hardware you may not have |
| Entire Distribution | SUNWCall | Everything except extra OEM drivers |
| Developer System Support | SUNWCprog | Headers, man pages and development tools, no extra apps |
| End User System Support | SUNWCuser | Desktop user packages |
| Core System Support | SUNWCreq | Minimal server base; you will add packages by hand |
| Reduced Network Support | SUNWCrnet | Smallest, 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/releaseanduname -ashow the release and kernel patch level (see part 5, Solaris First-Day Commands).CLUSTERconfirms the software group that was installed.lustatuslists the boot environment created by the installer (ZFS root), ready for Live Upgrade.svcs -xvshould print nothing; anything listed is a service in maintenance that needs a look.netstat -rnshows the default route, andnslookuporgetent hoststests DNS (remember/etc/nsswitch.confneedsdnson 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 outersshsession. - “Can’t open boot device” at
boot cdrom. No media, the wrong alias, or ILOM storage redirection not connected. Checkdevaliasandprobe-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
formatandcfgadm -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-devicestill points at the DVD ornet; 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 noin/etc/ssh/sshd_configandCONSOLE=/dev/consolein/etc/default/login. Create an admin user and usesu -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.
