Wednesday, February 25, 2015

Apple Xserve 2,1 + OS X Yosemite (10.10.5) OR El Capitan (10.11), it's time.

I recently acquired an Apple Xserve 2,1 with the following specifications for the lowly sum of $200 USD.


  • 2 x 2.8GHz E5462 Quad-Core Xeon CPUs
  • 4 x 1GB PC2-6400 800MHz FB-DIMM
  • 3 x 1TB Seagate 7200 RPM SATA drives
  • 2 x Power supplies
  • 1 x Dead RAID battery
  • 1 x Dead CMOS battery (CR2032)


I have also acquired:

  • 8 x 4GB, 32GB total, Kingston PC2-5300 FB-DIMM RAM ($40 USD shipped)
  • 2 x L5420 2.5GHz low voltage quad-core Xeon CPUs ($27 USD shipped)
  • 1 x Gigabyte GV-RX26T256H, HD2600XT, 256MB DDR3 RAM ($24 USD shipped)
  • 1 x BPlus M2P4A PCI-E to M.2 SSD adapter ($55)
  • 1 x Samsung XP941 250GB M.2 SSD (double-sided)
  • 1 x OEM Apple NVidia-based GT120 graphics adapter ($70)
  • 1 x CR 2032 battery ($2)
  • 1 x Apple LSI SAS1064E Adapter (Apple Part number 661-4648, 630-8782, 820-2191) ($20)
I still need to acquire:
  • 1 x im-not-quite-dead-yet RAID battery (maybe not, see LSI SAS1064E above)
  • 2 x 4TB SATA drives (mirrored configuration, data storage)
These machines, by default, require 800MHz PC2-6400 FB-DIMM to run the 2.8, 3.0 and 3.2 GHz E5400 class Xeon CPUs; however, since I'm trying to reduce power consumption, the 2.5GHz Xeon CPUs I acquired only require 667MHz FB-DIMM, thus the Kingston acquisition.  It happened to also cost significantly less than the 800MHz stuff, which provides only a very marginal performance increase.  Unfortunately, this only reduced power consumption to a whopping 255 watts at idle.  Maybe removing the 3 1TB drives would drive it down further, but I wouldn't be too certain it would really matter.  At some time in the process, you begin to ask yourself, "What's the point of this if I'll never reach sub 100 watts?"

In order to make these machines boot OS X Yosemite (10.10.5), a few things must be done:


  • modify /System/Library/CoreServices/PlatformSupport.plist to include the Xserve board ID, 'Mac-F42289C8', and system name 'Xserve2,1'. 
  • remove the OEM X1300 mezzanine graphics adapter and add a NVidia GT120 
  • Pike R. Alpha's YoseFix boot.efi is not required, as the Xserve 2,1 has a 64-bit EFI included


It is beyond comprehension why Apple couldn't simply release an updated mezzanine card or include support (albeit slow) for the X1300 graphics adapter in 10.8, 10.9 and 10.10.  With that, no edits to the PlatformSupport.plist would be required.  Actually, it isn't beyond comprehension, they wanted to drive sales to the new Mac Pro lines, which are fine, but inherently still expensive.  I wanted a 1U form factor, just because I can and it was inexpensive.

I'm still working to determine the best way to flash the video card I have acquired; however, if it appears unlikely to cooperate, I plan to purchase the NVidia GT120 from an Apple Mac Pro and move on.  I may brick the card in the process, so I plan to update this space when the time is right.

Edit: Purchased the GT120 -- I don't have time to muck about with a $25 video card to save $50 right now.

(even) More soon!

Edit: The PCI-E Samsung XP941 SSD and NVidia GT120 are working beautifully now.  I also purchased a very inexpensive USB audio which "just works" with no further tinkering.  Let there be sound!  I had a few small problems with the memory at first, but now it seems to have stabilized after swapping out one bad module.  All that remains is a RAID battery and storage solutions.

Note: To upgrade from 10.10.2 to 10.10.3, the PlatformSupport.plist has changed!  You'll need to boot from your rescue partition, jump into a shell and modify the new PlatformSupport.plist to continue operation.  That file is constantly modified by Apple to keep pace with new hardware releases, or to deprecate old ones (as is the case for the xserve).

Note: To upgrade from 10.10.3 to 10.10.4, the PlatformSupport.plist has changed yet again! You'll need to boot from your rescue partition, enter a shell and modify the new PlatformSupport.plist to continue operation.  The two entries are Mac-06F11F11946D27C5 and Mac-06F11FD93F0323C5.  Alternately, you can simply copy your PlatformSupport.plist back in place if you have it backed up elsewhere.  Proceed with the upgrade regardless of Apple's intentions!

Note: To upgrade from 10.10.4 to 10.10.5, the PlatformSupport.plist has not changed!  You shouldn't need to boot from a rescue partition or modify the original PlatformSupport.plist, though it's not a bad idea to have something ready in case it overwrites it with an original contained in the update.  Mine didn't, but yours may -- act accordingly!




Edit: Could someone please try a Kingstone HyperX Predator PCIe SSD in a Mac Pro or XServe?  I'd like to know if it is capable of booting OSX 10.10.5! (P.S. If Kingston will send me one, I'll be happy to test it against this Samsung XP941!)

Edit: I've now ordered a regular LSI SAS1064E so I can experiment running VMWare ESXi 6.0 U1 natively on this platform, and putting OSX Yosemite inside.  ESXi doesn't support the native RAID, plus my RAID battery is still dead, so I had little interest in reviving it once I found a regular SAS backplane (which SHOULD support 3GBPS SATA II at least) for $20 shipped.  In other news, VMWare ESXi 6.0 U1 did NOT find my Samsung XP941, but would install to a 32GB USB drive, interestingly.

Edit: The Xserve2,1 does fully support ESXi 6.0 U1 with the LSI SAS1064E card, and I was able to install Yosemite within ESXi though the console did exhibit a few issues.  I could correct them, but it's still idling at 240 watts, which is horribly inefficient.  Here's a quick snapshot for the curious!



Edit: This server is now for sale, as-configured, but without the SSD.  I'll include the 2.8GHz Xeons if you want them as well.  Make an offer, I'm a reasonable individual -- do bear in mind that this will come with a RUNNING installation of Yosemite 10.10.5 and/or VMWare ESXi if you so choose!  I will also include the Apple RAID card and original (dead) battery.

Edit (10.01.2015): For OS X El Capitan, 10.11.0 (1), it seems you will no longer need both augmentations in /System/Library/CoreServices/PlatformSupport.plist, you'll only need to add 'Mac-F42289C8' at the bottom in another tag. I'll post a screen shot of the system once I get home.  Unfortunately, this is now an operating-system protected file, so you won't be able to edit it while the system is running without making changes or entering single user mode (most likely).


Thursday, February 19, 2015

InfoDoc #:209731 How to Reset ILOM on Sun T5120/T5220/T5140/T5240/T5440 - Simplified

InfoDoc #: 209731 (simplified, paraphrased, with photos)
  • Power down the system using the front panel power button
    • If a SP admin account exists, you can use that account's ALOM Command Line Interface poweroff command
  • Unplug the power cable(s) and remove the top cover
  • Place a jumper between Pins 1 & 2 of header PJ6801 (photo coming soon)
    • This Jumper is located at the rear of the T5120/T5220 motherboard
  • Place a jumper between pins 1 & 2 of header J10401 (photo coming soon)
    • This header is located on the SP of the T5140/T5240, near the center, rear edge of the motherboard
  • Replace the top cover and plug in the power cable(s)
  • Press the front panel Power button to power on the system
    • You must power on the system to complete the reset because the state of the PJ6801 jumper cannot be determined unless the host CPU is running
  • The SP root password should now be reset to the default 'changeme'
  • Log in as root into the SP
    • ssh root@ip.add.re.ss (address may be obtained by monitoring the dhcp lease db)
    • web browser via network management port
    • tip/cu - hardware or terminal server via serial management port (Cisco RJ45 -> DB9)
  • Power down the system using the front panel power button
  • Unplug the power cable(s) and remove the top cover
  • Remove the jumper on header PJ6801
    • The jumper on PJ6801 must be removed after a password reset or the password will be reset upon each time the system is powered up
  • Replace the top cover and plug in the power cable(s)
  • The SP's root account password can be changed using the usual SP's root account's command line user interface command.

The Ultimate OpenBSD Firewall?


Strong words.  Can they be substantiated?

In my haste to depart from an i386-based OpenBSD firewall/router at home, I accidentally purchased a Sun T5220 (big brother to a T5110) with an 8-Core 1.6GHz UltraSPARC T2 CPU and 64GB of RAM.

I do mean "accidentally" - I made a ridiculously low offer on one via eBay, the seller countered, and I "accidentally" accepted.  I won't get into that explanation at the moment as it's more complex than I can justify to the household accountant, but let's just say I'm probably in trouble when it arrives.


Those woes aside, let's look at what makes this device interesting from a price:performance ratio!

  • 1.6GHz
    • 8-Cores
    • 8-Threads/core
    • On-die crypto functionality (unlikely to work under OpenBSD at the moment or ever)
  • 64GB PC2-5300 FB-DIMM DRAM
  • 4x 10/100/1000 onboard copper gigabit ethernet
  • 6x PCI-E x8 slots
  • 8x SAS/SATA slots
  • 2U form factor
  • Dedicated 10/100 ILOM network management port
  • Serial console access
  • Obscenely loud jet engine take-off sound

I'd like to use this thing as my home firewall.  I am well aware that it is a power hog compared to my Alix, but I need to keep my basement at a particular temperature anyway, so this can serve double-duty. (Or that's how I'm initially justifying it).  I also know it's grotesque overkill for any firewalling duty I could possibly imagine, but overkill is a lifestyle decision and if only for these three words, I'll make it happen:

BECAUSE I CAN


I'm also aware that OpenBSD SMP on a machine like this is less than ideal, Ted Unangst had some thoughts he's illustrated here.  Again, that being stated, I'm still in because older technology - new to me - is still fascinating and OpenBSD's SPARC64 port is still alive and well-maintained.  One of my goals is to learn more about alternate architectures, and there's simply no better way than to eat your own proverbial dog food.  What magnificent dog food this is..


The machine hasn't arrived yet, so I'm simply preparing the small bits and pieces that I may require.  One of the trickier aspects could be a firmware update.  This requires an installation of Sun Solaris 11, as well as the acquisition of its necessary firmware files, which are guarded by some proprietary Oracle Support Identifier and registration.  Making the firmware acquisition difficult and/or expensive makes little to absolutely no sense when dealing with mission-critical infrastructure.  I feel this is a classically-stupid decision by Oracle - unfortunately par for the course from what I can discern.  Can anyone help with this?


A quick google turned up the firmware file on a nondescript site that was one revision behind (147307-11.zipthe latest (147307-12.zip) .  I'm not sure which firmware is best-suited for my purpose, or if I'll even need it, but I plan to see if the OpenBSD Sparc64 installation "just works" without the update.  If so, and I notice no aberrant behaviour, I will probably just stick to what's on the device.


Since it was sold sans drives, I'll also need to acquire at least one drive to test with, and/or to install Solaris on should that become necessary for a firmware update in the future.  I might also see if the PCI-E to PCI riser card works for various network/wireless adapters and/or crypto accelerators.  I'm eyeballing the Dell K961K (aka PESB62) PCI-E crypto accelerator with a Broadcom 5862 chipset..  Who knows if OpenBSD will recognize it, but just about any security processor is worth ~$25, if only to tinker with.


More updates will be provided in short order.  In the mean time, here's a simplified infodoc that describes how to reset the ILOM (Integrated Lights Out Management) password back to 'changeme' should yours not be default.


One other quick mention is that OpenBSD supports guest domains, as described by Mark Kettenis (kettenis@) here on undeadly.


SO, here's the 5.7-current dmesg - I've highlighted the interesting bits below - note the ubsec0 device lit up!


console is /virtual-devices@100/console@1
Copyright (c) 1982, 1986, 1989, 1991, 1993
        The Regents of the University of California.  All rights reserved.
Copyright (c) 1995-2015 OpenBSD. All rights reserved.  http://www.OpenBSD.org

OpenBSD 5.7-current (GENERIC.MP) #495: Sun Mar 15 22:00:12 MDT 2015
    deraadt@sparc64.openbsd.org:/usr/src/sys/arch/sparc64/compile/GENERIC.MP
real mem = 68585259008 (65408MB)
avail mem = 67501309952 (64374MB)
mpath0 at root
scsibus0 at mpath0: 256 targets
mainbus0 at root: SPARC Enterprise T5220
cpu0 at mainbus0: SUNW,UltraSPARC-T2 (rev 0.0) @ 1581.586 MHz
cpu1 at mainbus0: SUNW,UltraSPARC-T2 (rev 0.0) @ 1581.586 MHz
cpu2 at mainbus0: SUNW,UltraSPARC-T2 (rev 0.0) @ 1581.586 MHz
cpu3 at mainbus0: SUNW,UltraSPARC-T2 (rev 0.0) @ 1581.586 MHz
cpu4 at mainbus0: SUNW,UltraSPARC-T2 (rev 0.0) @ 1581.586 MHz
cpu5 at mainbus0: SUNW,UltraSPARC-T2 (rev 0.0) @ 1581.586 MHz
cpu6 at mainbus0: SUNW,UltraSPARC-T2 (rev 0.0) @ 1581.586 MHz
cpu7 at mainbus0: SUNW,UltraSPARC-T2 (rev 0.0) @ 1581.586 MHz
cpu8 at mainbus0: SUNW,UltraSPARC-T2 (rev 0.0) @ 1581.586 MHz
cpu9 at mainbus0: SUNW,UltraSPARC-T2 (rev 0.0) @ 1581.586 MHz
cpu10 at mainbus0: SUNW,UltraSPARC-T2 (rev 0.0) @ 1581.586 MHz
cpu11 at mainbus0: SUNW,UltraSPARC-T2 (rev 0.0) @ 1581.586 MHz
cpu12 at mainbus0: SUNW,UltraSPARC-T2 (rev 0.0) @ 1581.586 MHz
cpu13 at mainbus0: SUNW,UltraSPARC-T2 (rev 0.0) @ 1581.586 MHz
cpu14 at mainbus0: SUNW,UltraSPARC-T2 (rev 0.0) @ 1581.586 MHz
cpu15 at mainbus0: SUNW,UltraSPARC-T2 (rev 0.0) @ 1581.586 MHz
cpu16 at mainbus0: SUNW,UltraSPARC-T2 (rev 0.0) @ 1581.586 MHz
cpu17 at mainbus0: SUNW,UltraSPARC-T2 (rev 0.0) @ 1581.586 MHz
cpu18 at mainbus0: SUNW,UltraSPARC-T2 (rev 0.0) @ 1581.586 MHz
cpu19 at mainbus0: SUNW,UltraSPARC-T2 (rev 0.0) @ 1581.586 MHz
cpu20 at mainbus0: SUNW,UltraSPARC-T2 (rev 0.0) @ 1581.586 MHz
cpu21 at mainbus0: SUNW,UltraSPARC-T2 (rev 0.0) @ 1581.586 MHz
cpu22 at mainbus0: SUNW,UltraSPARC-T2 (rev 0.0) @ 1581.586 MHz
cpu23 at mainbus0: SUNW,UltraSPARC-T2 (rev 0.0) @ 1581.586 MHz
cpu24 at mainbus0: SUNW,UltraSPARC-T2 (rev 0.0) @ 1581.586 MHz
cpu25 at mainbus0: SUNW,UltraSPARC-T2 (rev 0.0) @ 1581.586 MHz
cpu26 at mainbus0: SUNW,UltraSPARC-T2 (rev 0.0) @ 1581.586 MHz
cpu27 at mainbus0: SUNW,UltraSPARC-T2 (rev 0.0) @ 1581.586 MHz
cpu28 at mainbus0: SUNW,UltraSPARC-T2 (rev 0.0) @ 1581.586 MHz
cpu29 at mainbus0: SUNW,UltraSPARC-T2 (rev 0.0) @ 1581.586 MHz
cpu30 at mainbus0: SUNW,UltraSPARC-T2 (rev 0.0) @ 1581.586 MHz
cpu31 at mainbus0: SUNW,UltraSPARC-T2 (rev 0.0) @ 1581.586 MHz
cpu32 at mainbus0: SUNW,UltraSPARC-T2 (rev 0.0) @ 1581.586 MHz
cpu33 at mainbus0: SUNW,UltraSPARC-T2 (rev 0.0) @ 1581.586 MHz
cpu34 at mainbus0: SUNW,UltraSPARC-T2 (rev 0.0) @ 1581.586 MHz
cpu35 at mainbus0: SUNW,UltraSPARC-T2 (rev 0.0) @ 1581.586 MHz
cpu36 at mainbus0: SUNW,UltraSPARC-T2 (rev 0.0) @ 1581.586 MHz
cpu37 at mainbus0: SUNW,UltraSPARC-T2 (rev 0.0) @ 1581.586 MHz
cpu38 at mainbus0: SUNW,UltraSPARC-T2 (rev 0.0) @ 1581.586 MHz
cpu39 at mainbus0: SUNW,UltraSPARC-T2 (rev 0.0) @ 1581.586 MHz
cpu40 at mainbus0: SUNW,UltraSPARC-T2 (rev 0.0) @ 1581.586 MHz
cpu41 at mainbus0: SUNW,UltraSPARC-T2 (rev 0.0) @ 1581.586 MHz
cpu42 at mainbus0: SUNW,UltraSPARC-T2 (rev 0.0) @ 1581.586 MHz
cpu43 at mainbus0: SUNW,UltraSPARC-T2 (rev 0.0) @ 1581.586 MHz
cpu44 at mainbus0: SUNW,UltraSPARC-T2 (rev 0.0) @ 1581.586 MHz
cpu45 at mainbus0: SUNW,UltraSPARC-T2 (rev 0.0) @ 1581.586 MHz
cpu46 at mainbus0: SUNW,UltraSPARC-T2 (rev 0.0) @ 1581.586 MHz
cpu47 at mainbus0: SUNW,UltraSPARC-T2 (rev 0.0) @ 1581.586 MHz
cpu48 at mainbus0: SUNW,UltraSPARC-T2 (rev 0.0) @ 1581.586 MHz
cpu49 at mainbus0: SUNW,UltraSPARC-T2 (rev 0.0) @ 1581.586 MHz
cpu50 at mainbus0: SUNW,UltraSPARC-T2 (rev 0.0) @ 1581.586 MHz
cpu51 at mainbus0: SUNW,UltraSPARC-T2 (rev 0.0) @ 1581.586 MHz
cpu52 at mainbus0: SUNW,UltraSPARC-T2 (rev 0.0) @ 1581.586 MHz
cpu53 at mainbus0: SUNW,UltraSPARC-T2 (rev 0.0) @ 1581.586 MHz
cpu54 at mainbus0: SUNW,UltraSPARC-T2 (rev 0.0) @ 1581.586 MHz
cpu55 at mainbus0: SUNW,UltraSPARC-T2 (rev 0.0) @ 1581.586 MHz
cpu56 at mainbus0: SUNW,UltraSPARC-T2 (rev 0.0) @ 1581.586 MHz
cpu57 at mainbus0: SUNW,UltraSPARC-T2 (rev 0.0) @ 1581.586 MHz
cpu58 at mainbus0: SUNW,UltraSPARC-T2 (rev 0.0) @ 1581.586 MHz
cpu59 at mainbus0: SUNW,UltraSPARC-T2 (rev 0.0) @ 1581.586 MHz
cpu60 at mainbus0: SUNW,UltraSPARC-T2 (rev 0.0) @ 1581.586 MHz
cpu61 at mainbus0: SUNW,UltraSPARC-T2 (rev 0.0) @ 1581.586 MHz
cpu62 at mainbus0: SUNW,UltraSPARC-T2 (rev 0.0) @ 1581.586 MHz
cpu63 at mainbus0: SUNW,UltraSPARC-T2 (rev 0.0) @ 1581.586 MHz
vbus0 at mainbus0
"flashprom" at vbus0 not configured
cbus0 at vbus0
vldc0 at cbus0
vldcp0 at vldc0 chan 0x14: ivec 0x28, 0x29 channel "spds"
"sunvts" at vldc0 chan 0x6 not configured
"sunmc" at vldc0 chan 0x7 not configured
"explorer" at vldc0 chan 0x8 not configured
"led" at vldc0 chan 0x9 not configured
"flashupdate" at vldc0 chan 0xa not configured
"ipmi" at vldc0 chan 0xc not configured
"system-management" at vldc0 chan 0xd not configured
vldc1 at cbus0
"spfma" at vldc1 chan 0x5 not configured
vldc2 at cbus0
vldcp1 at vldc2 chan 0x0: ivec 0x0, 0x1 channel "hvctl"
"ldom-primary" at vldc2 chan 0x1 not configured
"fmactl" at vldc2 chan 0x3 not configured
vldc3 at cbus0
"ldmfma" at vldc3 chan 0x4 not configured
"n2cp" at vbus0 not configured
"ncp" at vbus0 not configured
vrng0 at vbus0
vcons0 at vbus0: ivec 0x111, console
vrtc0 at vbus0
"niu" at mainbus0 not configured
vpci0 at mainbus0: bus 2 to 18, dvma map 80000000-ffffffff
pci0 at vpci0
ppb0 at pci0 dev 0 function 0 "PLX PEX 8533" rev 0xaa
pci1 at ppb0 bus 3
ppb1 at pci1 dev 1 function 0 "PLX PEX 8533" rev 0xaa
pci2 at ppb1 bus 4
ppb2 at pci2 dev 0 function 0 "PLX PEX 8517" rev 0xac
pci3 at ppb2 bus 5
ppb3 at pci3 dev 1 function 0 "PLX PEX 8517" rev 0xac
pci4 at ppb3 bus 6
ppb4 at pci4 dev 0 function 0 "PLX PEX 8112" rev 0xaa
pci5 at ppb4 bus 7
ohci0 at pci5 dev 0 function 0 "NEC USB" rev 0x43: ivec 0x16, version 1.0
ohci1 at pci5 dev 0 function 1 "NEC USB" rev 0x43: ivec 0x17, version 1.0
ehci0 at pci5 dev 0 function 2 "NEC USB" rev 0x04: ivec 0x14
usb0 at ehci0: USB revision 2.0
uhub0 at usb0 "NEC EHCI root hub" rev 2.00/1.00 addr 1
usb1 at ohci0: USB revision 1.0
uhub1 at usb1 "NEC OHCI root hub" rev 1.00/1.00 addr 1
usb2 at ohci1: USB revision 1.0
uhub2 at usb2 "NEC OHCI root hub" rev 1.00/1.00 addr 1
ppb5 at pci3 dev 2 function 0 "PLX PEX 8517" rev 0xac
pci6 at ppb5 bus 8
em0 at pci6 dev 0 function 0 "Intel 82571EB" rev 0x06: ivec 0x17, address 00:21:28:6d:9b:3c
em1 at pci6 dev 0 function 1 "Intel 82571EB" rev 0x06: ivec 0x14, address 00:21:28:6d:9b:3d
ppb6 at pci3 dev 3 function 0 "PLX PEX 8517" rev 0xaa
pci7 at ppb6 bus 9
em2 at pci7 dev 0 function 0 "Intel 82571EB" rev 0x06: ivec 0x14, address 00:21:28:6d:9b:3e
em3 at pci7 dev 0 function 1 "Intel 82571EB" rev 0x06: ivec 0x15, address 00:21:28:6d:9b:3f
ppb7 at pci1 dev 2 function 0 "PLX PEX 8533" rev 0xaa
pci8 at ppb7 bus 10
mpi0 at pci8 dev 0 function 0 "Symbios Logic SAS1068E" rev 0x04: msi
mpi0: UNUSED, firmware 1.27.2.0
scsibus1 at mpi0: 112 targets
sd0 at scsibus1 targ 0 lun 0: SCSI3 0/direct fixed naa.5000cca792c4138e
sd0: 953869MB, 512 bytes/sector, 1953525168 sectors
ppb8 at pci1 dev 8 function 0 "PLX PEX 8533" rev 0xaa
pci9 at ppb8 bus 11
ppb9 at pci9 dev 0 function 0 "PLX PEX 8533" rev 0xaa
pci10 at ppb9 bus 12
ppb10 at pci10 dev 1 function 0 "PLX PEX 8533" rev 0xaa: msi
pci11 at ppb10 bus 13
ppb11 at pci10 dev 2 function 0 "PLX PEX 8533" rev 0xaa: msi
pci12 at ppb11 bus 14
ppb12 at pci10 dev 8 function 0 "PLX PEX 8533" rev 0xaa: msi
pci13 at ppb12 bus 15
ppb13 at pci10 dev 9 function 0 "PLX PEX 8533" rev 0xaa: msi
pci14 at ppb13 bus 16
ppb14 at pci10 dev 10 function 0 "PLX PEX 8533" rev 0xaa: msi
pci15 at ppb14 bus 17
ppb15 at pci1 dev 9 function 0 "PLX PEX 8533" rev 0xaa: msi
ubsec0 at pci15 dev 0 function 0 "Broadcom 5862" rev 0x01: 3DES MD5 SHA1 AES, ivec 0x15
pci16 at ppb15 bus 18
"pci-performance-counters" at mainbus0 not configured
ebus0 at mainbus0
com0 at ebus0 addr ca0000-ca0007 ivec 0x13: ns16550a, 16 byte fifo
uhub3 at uhub0 port 4 "Cypress Semiconductor USB2 Hub" rev 2.00/0.0b addr 2
umass0 at uhub3 port 4 configuration 1 interface 0 "OEM Mass Storage plus" rev 2.00/0.00 addr 3
umass0: using SCSI over Bulk-Only
scsibus2 at umass0: 2 targets, initiator 0
cd0 at scsibus2 targ 1 lun 0: SCSI0 5/cdrom removable serial.09280000EF0123456789
uhidev0 at uhub3 port 4 configuration 1 interface 1 "OEM Mass Storage plus" rev 2.00/0.00 addr 3
uhidev0: iclass 3/0
uhid0 at uhidev0: input=1, output=1, feature=0
vscsi0 at root
scsibus3 at vscsi0: 256 targets
softraid0 at root
scsibus4 at softraid0: 256 targets
bootpath: /pci@0,0/pci@0,0/pci@2,0/scsi@0,0/disk@0,0

root on sd0a (240c11545284cb82.a) swap on sd0b dump on sd0b

As much as I love this machine, it's probably not going to make the "cut" as my home firewall due to the whopping 277 watts of power consumption at idle.  I have serious reservation that it would ever sustain any utilization beyond idle, but still, at $0.115/KwH, that approximates to ~$24/month.  More on this soon, perhaps I could replace the qty 16 4GB DIMMs with qty 4 1GB DIMMs. My quick guesstimate is that it won't bring it much further down than ~200 watts.  Replacing the 2.5" 5400 RPM drive with a SSD might bring it down further, but not much.  I'm almost certain there is no power management functionality that will assist to this cause.

Here are some helpful ILOM commands to get started, for the uninitiated Sun masses...

Monday, February 2, 2015

How to compile Zabbix agent on OSX Yosemite 10.10.3

So, after much debate, and a lot of searching, I couldn't turn up a reliable way to install a binary of the latest version of the zabbix agent on OSX (OS X) Yosemite 10.10.3.  The following is the quick approach I took and it works beautifully.

First, install xcode.  I know, groans abound, but it's required so just do it unless you feel like you want to trust my binaries. Secondly, grab the zabbix source code, it's free and relatively small.

Next, follow the sequence of steps exactly, it is easy, fast and relatively pain-free.  From a shell as an administrative user:

Install command-line tools:

user:Downloads user$ xcode-select --install

Untar/uncompress the latest tarball (2.4.5)

user:Downloads user$ tar -zxvpf zabbix-2.4.5.tar.gz

Switch to the tarball directory

user:~ user$ cd zabbix-2.4.5

Run the configure script with the --enable-agent switch

user:zabbix-2.4.5 user$ ./configure --enable-agent

Make the executable

user:zabbix-2.4.5 user$ make

Make the necessary local directories

user:zabbix-2.4.5 user$ sudo mkdir -p /usr/local/etc /usr/local/sbin

Copy the configuration file to the local etc directory

user:zabbix-2.4.5 user$ sudo cp ./conf/zabbix_agentd.conf /usr/local/etc/

Copy the daemon file to the local sbin directory

user:zabbix-2.4.5 user$ sudo cp ./src/zabbix_agentd /usr/local/sbin

Edit the agent daemon file (beyond the scope of this document)

user:zabbix-2.4.5 user$ vi /usr/local/etc/zabbix_agentd.conf

Start the agent, and enjoy!

user:zabbix-2.4.5 user$ /usr/local/sbin/zabbix_agentd


I'm working on a clean way to install this as a system daemon and should have that done very soon, as well as a script that automates the entire process, save for the XCode installation.  There is also a 'make install' target, I just wasn't sure what that was going to do, so I'd rather do it manually for the time being.  I'll update this space as I have time soon!