Bitemelarry
Hardware
This machine is a Sun Microsystems Sun Fire v210. It bears serial number FM33910143
. This model was end-of-lifed in June of 2006 [1]
Lights Out Management
Sun's, erm, Oracle's, docs on this machine's ALOM can be found at http://docs.oracle.com/cd/E19102-01/n440.srvr/819-2445-11/configure.html (as of this writing, anyway)
ALOM login credentials have not yet been re-set. This should be possible after Solaris is installed using setdefaults -a
or something similar.
ALOM login credentials can be re-set (or a new user ALOM user can be added) with software included with Solaris. /usr/platform/$(uname -i)/scadm
will be your friend, here. It has a helpful "help
" option.
If you feel the urge to update the ALOM firmware, be sure the system firmware requirements are met. I had OpenBoot version 4.8.something and ALOM verison 1.0. Updating to ALOM 1.6 required a more recent OpenBoot. The more recent OpenBoot's requirement for ALOM >= 1.2.x wasn't mentioned until the very end of the OpenBoot update document. The machine seems to have survived, but the unmatched dependencies were a cause of concern for a while.
Setting the ALOM for DHCP is a matter of getting a user with "cuar" permissions, connecting to the ALOM on the serial console or over the network, and running setupsc
from the ALOM's shell. It will ask a lot of questions. Most can safely be ignored for now. The DHCP enable option is pretty obvious, though. Re-setting the configuration of the ALOM is accomplished by running setdefaults
from the ALOM shell.
Factory default credentials for ALOMs of this generation are admin
/ admin
.
CPU
memory
OpenBoot firmware reports 1024Mibytes of RAM installed. 16Gbytes of RAM is the maximum supported configuration.[2]
mass storage
There are two 3.5 inch bays for SCA SCSI drives in the front of the chassis.
Software
network boot
OpenBoot gets zeroth Ethernet NIC's IP address by RARP. Install rarpd and add an entry to /etc/ethers. This machine is at 00:03:ba:45:e8:c1
.
After successfully getting its IP address by RARP, it then requests by TFTP a file which is a hexadecimal encoded version of its IP address. The needed file can be found on the Solaris 10 SPARC installation DVD at Solaris_10/Tools/Boot/platform/sun4u/inetboot. Copy this to a file with a meaningful name on your TFTP server and create a symlink that matches the hex-encoded IP address:
install -o root -g root -m 444 /media/cdrom0/Solaris_10/Tools/Boot/platform/sun4u/inetboot /var/local/tftp/inetboot.Solaris10_SPARC_sun4u ln -s inetboot.Solaris10_SPARC_sun4u /var/local/tftp/AC100021
This machine should be able to get its network boot loader by TFTP now. If problems are encountered, check the following:
- Is there a RARP server running?
- Is the client machine listed in /etc/ethers?
- Is there a TFTP server running on the local subnet? (client system here broadcasts TFTP requests)
Now that the bootloader is running, it needs a bootparam server to talk to. This will tell it where to load the kernel from and where to find its root filesystem.
apt-get install bootparamd
and put something like the following in /etc/bootparams:
172.16.0.33 root=172.16.0.1:/srv/nfsroot/solaris_install/Solaris_10/Tools/Boot \ install=172.16.0.1:/srv/nfsroot/solaris_install/Solaris_10 \ rootopts=:rsize=8192 boottype=:in
And then realize that bootparamd doesn't cope with IP addresses in there. It does a gethostbyaddr for the client's IP address, so /etc/bootparams needs to look like
dhcp-pool-33.fnord.greeley.co.us root=172.16.0.1:/srv/nfsroot/solaris_install/Solaris_10/Tools/Boot \ install=172.16.0.1:/srv/nfsroot/solaris_install/Solaris_10 \ rootopts=:rsize=8192 boottype=:in
instead.
After the installer tries every available Ethernet interface, you may encounter a message similar to "bpgetfile unable to access network". I found that the machine with an IP address of 172.16.0.33 thinks that it is on a Class B network. Which makes a sad kind of sense -- there wasn't any DHCP done to figure out the netmask for that network segment.
Be sure to have the NFS mounts listed in bootparams available to the client system. Feel free to use ifconfig to manually adjust the IP configuration, setting netmask and broadcast address. And then exit
to continue the installer.
Operating System
The Solaris 10 update 11 SPARC installation failed to include the proper drivers for the SCSI card in the machine. Watch for something like "glm: cannot load driver" followed by a "panic[cpu0]/thread=180e000: vfs_mountroot: cannot mount root". http://ssl-lab.blogspot.com/2010/12/set-controls-for-heart-of-sun.html got me through getting the correct drivers installed. Net-booting the install kernel, importing zpool for direct attached drives, getting ZFS root mounted, chrooting into it, getting /proc and /dev/fd and /etc/mntent mounted inside chroot were all needed before pkgadd would run correctly.
Battery
At power on, this machine is now reporting SC Alert: VOLTAGE_SENSOR @ MB.BAT.V_BAT has exceeded low warning threshold.
It seems that the motherboard battery is a generic 3 volt Lithium 2032 cell. It is located in a socket somewhere on the motherboard. Replacement with a new part should be quite simple.
Battery replacement was pretty painless. Sun had built this machine using a BR2032 cell, but none were available at the local Walgreen's or Batteries+ stores. A CR2032 has been serving just fine for 3 weeks now. (Some web references say the BR2032 will last a much longer time in this application, but a couple of years will be plenty for this machine.)
Debian on this machine
Debian wheezy is also installed on this machine. Non-free firmware is needed to get the on-board and PCI expansion card Ethernet adapters working. The 4 port onboard Ethernet is a Broadcom Tigon 3. Firmware for this adapter can be found in the firmware-linux-nonfree package. The add-on PCI-X card is a 4 port Sun Quad Gigaswift adapter. It uses the "cassini" driver and needs the "cassini.bin" firmware blob. This firmware blob is distributed as an Intel HEX (ihex) file in the Linux kernel source tree. The binary file can be generated by
cd DIRECTORY_CONTAINING_cassini.bin.ihex; objcopy -Iihex -Obinary cassini.bin.ihex cassini.bin
Booting Debian on this machine is done by running boot disk1
at OpenBootPROM's ok
prompt. (If the silo boot loader is unable to start the kernel with a message about an instruction fault, try again after powering the system off completely. See https://launchpad.net/ubuntu/+source/silo/+bug/40119 for some info on this.)