2007-09-02

Things I'll forget: Installing Solaris 10 on Netras

This is what I did to install Solaris 10 on my Netra servers.

Firstly, downloaded CD images and burnt them to CD using a Mac. I probably could have saved a little time and some plastic mounting the ISOs on the Mac and accessing them over the net from the Netras, but there was enough new stuff to do anyway.

Referring to my previous shared memory entry and to Andy's Solaris disk faq I mounted a second 9GB drive on tercel-1 (my Netras are given the name 'tercel', being a small falcon, and numbered 1 to 3) to take the files for the install server. This was so I can move that disk to another machine after installing Solaris 10 on it, to use that as the install server for tercel-1.

I then followed the instructions for Creating a SPARC Install Server With CD Media and the following sequence to reboot tercel-3 from the net and install.

The install proceeds using my old sony 505 laptop connected to the LOM port, and sshing into it and using minicom. I do have a xyplex terminal server, but haven't ever got round to setting it up.

The first attempt at booting to the installer failed as I'd not selected VT100 as terminal, so got garbled screens. The second one stalled as I left it and went to bed halfway through the copying files stage and something timed out and dropped a connection.

The third attempt suceeded and tercel-3 booted into Solaris 10 from disk and was accessible via its LOM console.

I couldn't use ssh into the root account, and from the last time I set up a Solaris box, I'd forgotten how to setup user accounts (I wanted a clean install here too, having forgotten what I might have messed with a couple of years ago, so overwrote the previous settings completely).

To add user 'pete' with bash as login shell and create home directory in /export/home/:
bash-2.05# useradd -s /bin/bash -m -d /export/home/pete pete

To set password for user 'pete':
bash-2.05# passwd pete

Having done that, I could then login via ssh and change to super user using su as before.

I then brought all Netras down, and swapped the install server image disk from tercel-1 to tercel-3.

Using the previously mentioned procedure, I installed the Solaris image server disk:

tercel-3 console login: root
Password:
Last login: Sun Sep 2 14:17:12 on console
Sep 2 16:10:49 tercel-3 last message repeated 1 time
Sep 2 16:11:26 tercel-3 login: ROOT LOGIN /dev/console
Sun Microsystems Inc. SunOS 5.10 Generic January 2005
# sync;sync;init 0
# svc.startd: The system is coming down. Please wait.
svc.startd: 83 system services are now being stopped.
Sep 2 16:11:54 tercel-3 syslogd: going down on signal 15
umount: /export/home busy
svc.startd: The system is down.
syncing file systems... done
Program terminated
ok setenv auto-boot? false
auto-boot? = false
ok reset-all
Resetting ...

.
Netra t1 (UltraSPARC-IIi 440MHz), No Keyboard
OpenBoot 3.10.25 ME, 1024 MB memory installed, Serial #14251450.
Ethernet address 8:0:20:d9:75:ba, Host ID: 80d975ba.

ok probe-scsi-all
/pci@1f,0/pci@1,1/scsi@2
Target 0
Unit 0 Disk IBM DDYST1835SUN18G S94A
Target 1
Unit 0 Disk SEAGATE ST39204LCSUN9.0G4207

ok setenv auto-boot? true
auto-boot? = true
ok reset-all
Resetting ...

.
Netra t1 (UltraSPARC-IIi 440MHz), No Keyboard
OpenBoot 3.10.25 ME, 1024 MB memory installed, Serial #14251450.
Ethernet address 8:0:20:d9:75:ba, Host ID: 80d975ba.



Boot device: /pci@1f,0/pci@1,1/scsi@2/disk@0,0:a File and args:
SunOS Release 5.10 Version Generic_118833-33 64-bit
Copyright 1983-2006 Sun Microsystems, Inc. All rights reserved.
Use is subject to license terms.
Hostname: tercel-3
Sep 2 16:18:36 /usr/lib/snmp/snmpdx: can't open the file
Sep 2 16:18:36 /usr/lib/snmp/snmpdx: can't open the file
checking ufs filesystems
/dev/rdsk/c0t0d0s1: is logging.
/dev/rdsk/c0t0d0s5: is logging.
/dev/rdsk/c0t0d0s7: is logging.


I'm not sure whether that is actually necessary; the drives are supposed to be hot-swappable after all, but I don't know how to power a drive down and park it, or detect it without going to the LOM prompt.

Logging in and configuring and mounting the drive:

tercel-3 console login: root
Password:
Last login: Sun Sep 2 16:11:26 on console
Sep 2 16:21:13 tercel-3 login: ROOT LOGIN /dev/console
Sun Microsystems Inc. SunOS 5.10 Generic January 2005
# bash
bash-3.00#
bash-3.00# cfgadm -al
Ap_Id Type Receptacle Occupant Condition
c0 scsi-bus connected configured unknown
c0::dsk/c0t0d0 disk connected configured unknown
c0::sd0 disk connected configured unknown
c1 scsi-bus connected configured unknown
c1::dsk/c1t2d0 CD-ROM connected configured unknown
bash-3.00# cfgadm -c unconfigure c0::sd0
bash-3.00# cfgadm -al
Ap_Id Type Receptacle Occupant Condition
c0 scsi-bus connected configured unknown
c0::dsk/c0t0d0 disk connected configured unknown
c0::sd0 disk connected unconfigured unknown
c1 scsi-bus connected configured unknown
c1::dsk/c1t2d0 CD-ROM connected configured unknown
bash-3.00# cfgadm -c configure c0::sd0
bash-3.00# cfgadm -al
Ap_Id Type Receptacle Occupant Condition
c0 scsi-bus connected configured unknown
c0::dsk/c0t0d0 disk connected configured unknown
c0::dsk/c0t1d0 disk connected configured unknown
c1 scsi-bus connected configured unknown
c1::dsk/c1t2d0 CD-ROM connected configured unknown
bash-3.00# format
...
Specify disk (enter its number): 1
selecting c0t1d0: sol10img
...
format> part
...
partition> print
Volume: sol10img
Current partition table (original):
Total disk cylinders available: 4924 + 2 (reserved cylinders)

Part Tag Flag Cylinders Size Blocks
0 root wm 0 - 73 129.75MB (74/0/0) 265734
1 swap wu 74 - 147 129.75MB (74/0/0) 265734
2 backup wu 0 - 4923 8.43GB (4924/0/0) 17682084
3 unassigned wm 0 0 (0/0/0) 0
4 unassigned wm 0 0 (0/0/0) 0
5 unassigned wm 0 0 (0/0/0) 0
6 usr wm 148 - 4923 8.18GB (4776/0/0) 17150616
7 unassigned wm 0 0 (0/0/0) 0

partition> q
format> q
bash-3.00# mkdir /solimage
bash-3.00# mount /dev/dsk/c0t1d0s6 /solimage/
bash-3.00# ls /solimage/
Copyright lost+found
installer Solaris_10
JDS-THIRDPARTYLICENSEREADME
bash-3.00# cd /solimage/Solaris_10/Tools/
bash-3.00# ls
add_install_client Installers setup_install_server
Boot miniroot_extra
dial rm_install_client


So we've got the Solaris 10 image server disk mounted and can list it.

bash-3.00# ./add_install_client -e 08:00:20:D9:A0:B2 tercel-2 sun4u
Error: unknown client "tercel-2"


I hadn't restored /etc/hosts, so it didn't know tercel-2.

I added the IP addresses for the machines on the local net to /etc/hosts, then trying again:

bash-3.00# ./add_install_client -e 08:00:20:D9:A0:B2 tercel-2 sun4u
Adding Ethernet number for tercel-2 to /etc/ethers
saving original /etc/dfs/dfstab in /etc/dfs/dfstab.orig
Adding "share -F nfs -o ro,anon=0 /solimage" to /etc/dfs/dfstab
making /tftpboot
enabling tftp in /etc/inetd.conf
Converting /etc/inetd.conf
enabling network/tftp/udp6 service
enabling network/rarp service
enabling network/rpc/bootparams service
updating /etc/bootparams
copying boot file to /tftpboot/inetboot.SUN4U.Solaris_10-1
bash-3.00# ./add_install_client -e 08:00:20:DA:09:C6 tercel-1 sun4u
Adding Ethernet number for tercel-1 to /etc/ethers
updating /etc/bootparams


Now it's time to reset tercel-1 and boot it off the net so it can run the installer, which requires swapping the serial connection over to its LOM. I do actually have a proper multi-serial port to net box instead of, but have never got round to setting it up.

tercel-1 console login: root
Password:
Last login: Sun Jan 22 23:05:38 on console
Sep 2 15:25:50 tercel-1 login: ROOT LOGIN /dev/console
Sun Microsystems Inc. SunOS 5.9 Generic May 2002
bash-2.05# sync;sync;init 0
bash-2.05#
INIT: New run level: 0
The system is coming down. Please wait.
System services are now being stopped.
Print services already stopped.
Sep 2 15:26:20 tercel-1 syslogd: going down on signal 15
The system is down.
syncing file systems... done
Program terminated
ok boot net - nowin
Resetting ...
.
Netra t1 (UltraSPARC-IIi 440MHz), No Keyboard
OpenBoot 3.10.25 ME, 1024 MB memory installed, Serial #14289350.
Ethernet address 8:0:20:da:9:c6, Host ID: 80da09c6.

Executing last command: boot net - nowin
Boot device: /pci@1f,0/pci@1,1/network@1,1 File and args: - nowin
SunOS Release 5.10 Version Generic_118833-33 64-bit
Copyright 1983-2006 Sun Microsystems, Inc. All rights reserved.
Use is subject to license terms.


nowin makes me think of 'no-win situation' but that's nothing to do with installing Solaris.

So it's booted into Solaris 10 from the net, as it's now a question of going through the installer screens again:
The machine is on a subnet
It's using the router downstairs
It's not using any naming services
It's in Great Britain
Set the time (tercel-1 had drifted five minutes)
Enter root password
Enable remote services
(I'm not sure quite what that means, since I can't ssh the server at this point, which would be useful to free the serial cable so I could install multiple machines)
Standard network install with auto reboot (and auto eject of CDs though that's not relevant)
Accept the NFS location of the install images
Choose Initial system - overwrites everything on the boot disk
Select locale as Great Britain UTF-8
No Solaris 10 extra value software
No Web Start Ready software
Entire Distribution (there isn't a headless option)
Then go through lots of packages deselecting anything with a GUI
And when you get to 'Z' you realise there's still 'a' after it as it's ASCII
So give up and hit OK
And are warned that you've deselected some packages (such as X) that other software depends on
So reset and install everything. Maybe later I'll find out how to make an image with just headless Solaris for developers, so I don't have to go through hundreds of packages on each machine, but this is too painful to be worth the effort.
Select a disk (there's only one on this machine)
Continue, don't preserve data.
Use AutoLayout
Select all file systems for AutoLayout
(including /usr/openwin which should be necessary on a headless system)
Accept the auto-layout
Don't mount any software from remote server.
Begin installation
OK to change default boot device
Watch the little bar go across the screen as it writes 3.8 GB of stuff to the drive.
Make a coffee and check to get the terminal server working - it requires a serial connection to tell it which IP to use, and since my only serial connection is in use, I can't set it up at this point.
Read a little on creating flash archives rather than doing this again for the next machine.
Skip additional languages and software.
Reboot.
It does seem to take quite a while to load smf service descriptions, which wasn't part of Solaris 9, so the first boot is much slower than previous OS boot.
I'm not sure how long subsequent boots take.
Add user 'pete'.
Login via ssh and check that can su and get control.
Disconnect LOM cable.

Repeat with next machine.

Set up dns without specifying a domain:
Add all local machines to /etc/hosts
Create /etc/resolv.conf with nameserver 192.168.0.1
Create /etc/defaultgateway with 192.168.0.1
Copy nsswitch.dns as the active configuration: cp /etc/nsswitch.dns /etc/nsswitch.conf

Started stripping out all packages related to not-present hardware (CD/DVD writer, USB, firewire) and to desktop, but ended up with a corrupted locale (even on a headless machine the locales require fonts, which is a bit of a surprise) and had to reset and install again.
Installing as an update would entail putting all the packages back in manually.
It would be really nice if there was a simple way to say "I don't want Gnome or X, thankyou" rather than unchecking hundreds of packages and getting no feedback on dependencies.



TME

Labels:

0 Comments:

Post a Comment

<< Home