Dude, You’re Getting a Dell

As part of building out my homelab, I recently picked up a Dell PowerEdge R710 2U server off eBay.

After doing a local pickup (the ability to do so was a part of what made me pull the trigger on this option), I got the machine home and plugged in. Thankfully, I’ve got a bunch of old Dell U2410f monitors that have DP, HDMI, DVI, and … VGA! inputs. Just needed to look around and remember where I stashed the old VGA cables.

I had hoped to be able to just remote desktop in with the iDRAC and set up things that way, but I think it might be a little outdated.

ERR_SSL_VERSION_OR_CIPHER_MISMATCH

Chrome SSL error

So, I guess first operational order of business is to upgrade all the firmware so I can actually access this machine from the network.

Before I get to that, though, I’m just going to try and catalogue the state of the machine as I got it.

Initial Inventory

Before diving into making this machine my own, let’s see what it’s got on it right now.

Hardware Inventory

  • 2x Xeon X5650 @ 2.67Ghz (Westmere EP; 32nm; 6 cores; TDP 95W)
  • 128GB ECC DDR3 RAM @ 800MHz.
  • 2x 300GB 10K RPM SAS drives (in front hotswap bays).
  • dual swappable PSUs
  • 4x GbE NIC ports (one card).
  • iDRAC6 management card.
  • VGA video output (and only VGA).
  • 2x front USB ports.
  • 2x read USB ports.
  • 2x serial ports, one on the back, and one on the front.
  • internal SD card reader with a 1GB card in it.

Versions from the Lifecycle Controller:

ComponentVersion
Broadcom NetXtreme IIv5.2.7
Power Supplyv00.01.32
Dell Server BIOS 11Gv2.1.9
Dell Lifecycle Controllerv1.4.0.481
iDRAC6v1.50
Dell 32 Bit Diagnosticsv5142A0
Dell OS Drivers Pack, v.6.2.0.9, A00v6.2.0.9
PERC 6/i Integratedv6.2.0-0013

Self Diagnostic and Memory Tests

Ran through a full self-diagnostic suite of tests, and nothing came up except for it wasn’t able to test the DVD-ROM drive since I had no media in. It also skipped testing the USB controller my (working) keyboard was attached to.

Lingering Bits

SD Card had ESXi 5.1.0 installed. After booting up, it identified itself as Host: ajesx065.corp.ad.ctc.
Cluster: “AJ Non-Prod 4 - CTC 6509VE 3,4”

Firmware Upgrades

In order to use the remote console with the iDRAC card, I need it to understand more recent TLS algorithms. Not too surprising I guess, since this is a v6 card, and Dell is up to iDRAC 9 now.

There is a Dell System Build and Update Utility that was easy enough to download. It ostensibly will update the firmware on all the bits and bobs inside the chassis. That includes BIOS, iDRAC, PERC RAID card, NIC, etc.

It comes as an ISO with instructions to burn it to a disc and boot from that. I instead used Rufus to convert it into a bootable USB image and wrote it out to a 16 GB memory stick.

First problem – trying to boot it spammed the console with a ton of “unknown interrupt or fault” errors and then it rebooted. This happened twice. So, I decided to re-flash the USB stick, just in case. This time around I selected 4096 sector size just to be safe (default was 8192). No joy. FWIW, I doubt there is any benefit to actually burning a CD, since it clearly boots fine and starts execution. It just is seeing something it does not expect and bailing. Hard.

So, next attempt: just do the main BIOS to start out with. That I can do from FreeDOS with a provided DOS executable. So far so good! This flashed successfully and brought me from 2.1.9 to 6.6.0. Ancient to latest in one jump. Nice.

Going to try the magic flash-it-all with the new BIOS installed to see if that set up the expected interrupts. Same failure.

Trying the extra big SUU package now, which is not bootable, but should be able to get run from the System Lifecycle Controller (a UEFI module that is included on the machine) that is already on the machine. (I’m doing a lot of work to avoid installing Windows just to run update bundles. ha). Initial thoughts: SUCCESS! The Lifecycle Controller recognizes the update packges on the USB stick.

It has identified appropriate bits to do the following:

  • iDRAC 1.50 -> 2.90
  • PERC 6/i 6.2.0-0013 -> 6.3.3-002
  • Lifecycle Controller 1.4.0.481 -> 1.7.5.4
  • (and BIOS, which I did manually, 6.6.0 -> 6.4.0 is getting skipped).

Upon further inspection, FAILURE! It failed to apply because “ The updates you are trying to apply are not Dell-authorized updates”. WTF I hate enterprise systems. Is the machine looking for a service contract or something? Because the actual bits came directly from the Dell website. Maybe the old old version doesn’t have the right keyring to validate a binary signature from the future? Going to try an older Lifecycle Controller update to version 1.6.0.73_A00 and see if maybe I can at least get there in a few steps. Nope. Doesn’t recognize it as an update.

The last straw

Okay, TFTP time. Why didn’t I try this earlier? Is it because I hate TFTP with a passion? Yes.

I’m using the (free) SolarWinds TFTP server for Windows to serve the bits. I needed to (temporarily) disable Windows Firewall on my private network connections, because it refused to connect, and honestly, I couldn’t figure out how to add a rule to allow it.

With the TFTP server running, I used the SSH interface to the iDRAC card to tell it to fetch-and-flash the update.

/admin1-> racadm fwupdate -g -u -a 10.10.100.79 -d iDRACS6_1.85
Firmware update in progress [30 percent complete]
Firmware update in progress [70 percent complete]
Firmware update in progress [90 percent complete]
Firmware update completed successfully. The RAC is in the process of
resetting. Your connection will be lost. Please wait up to a minute
before starting a new session.

Upgrading via iDRAC SSH racadm command

Finally! Some success! I followed the recommendation of some post on the Dell forums and upgraded in a number of steps. I went from 1.85 -> 1.97 -> 1.99 -> 2.80 -> 2.92. I noticed that at 1.97 (or 1.99, I forget) that Chrome started connecting to the card successfully.

Linux Installation

Grabbed the normal ISO for Ubuntu Server 22.04.1 LTS and used Rufus again to flash it onto a USB stick. I’m going to install this onto the internal SD card drive. I’ve swapped the included 1GB card (that had ESXi 5.1 installed) and replaced it with a 64GB microSD card. I’m actually a little impressed that ESXi fits into a 1GB drive. I guess the “i” stands for “imbedded” 😂 Regardless, a normal Linux install needs a bit more.

The two SAS drives are in hardware RAID-1 mode. I’m going to ultimately wipe that, expose the disks in JBOD mode, and get a RAID-Z array going. Though, that’ll be after two things:

  1. I explore the data the eBay seller didn’t wipe out a bit more.
  2. I get another drive or two. There are eight slots on the front, and currently only two are populated.

Ubuntu is installed! Mostly.

Wait, “mostly” you say? Yeaaah. Apparently a /boot partition of 128MB is not nearly enough anymore. What, with initrd stuff taking up 127MB of that. And that’s just a single kernel version. Re-did things with 2GB allocated to /boot and everything was peachy keen.

Wrap Up

Okay, all wrapped up for now. The thing is running. I can access both the iDRACs web interface and SSH interface. Linux is installed. Ready to be specialized.

Next up will be getting Kubernetes running on it and adding it to my cluster.

Appendix

Some racadm outputs and commands

Rebooting the server via SSH:

/admin1-> racadm serveraction powercycle

reboot server

Grabbing some system information as seen by the iDRAC:

/admin1-> racadm getsysinfo

RAC Information:
RAC Date/Time           = 11/25/2022 18:49:30
Firmware Version        = 1.50
Firmware Build          = 24
Last Firmware Update    = 08/06/2010 18:01:08
Hardware Version        = 0.01
MAC Address             = a4:ba:db:3d:ea:51

Common settings:
Register DNS RAC Name   = 0
DNS RAC Name            = idrac-76MWJM1
Current DNS Domain      =
Domain Name from DHCP   = 0

IPv4 settings:
Enabled                 = 1
Current IP Address      = 10.10.100.184
Current IP Gateway      = 10.10.100.1
Current IP Netmask      = 255.255.255.0
DHCP Enabled            = 1
Current DNS Server 1    = 0.0.0.0
Current DNS Server 2    = 0.0.0.0
DNS Servers from DHCP   = 0

IPv6 settings:
Enabled                 = 0
Current IP Address 1    = ::
Current IP Gateway      = ::
Autoconfig              = 1
Link Local IP Address   = ::
Current IP Address 2    = ::
Current IP Address 3    = ::
Current IP Address 4    = ::
Current IP Address 5    = ::
Current IP Address 6    = ::
Current IP Address 7    = ::
Current IP Address 8    = ::
Current IP Address 9    = ::
Current IP Address 10   = ::
Current IP Address 11   = ::
Current IP Address 12   = ::
Current IP Address 13   = ::
Current IP Address 14   = ::
Current IP Address 15   = ::
DNS Servers from DHCPv6 = 0
Current DNS Server 1    = ::
Current DNS Server 2    = ::

System Information:
System Model            = PowerEdge R710
System Revision         = I
System BIOS Version     = 2.1.9
Service Tag             = 76MWJM1
Host Name               = ajesx065.corp.ad.ctc
OS Name                 = VMware ESXi 5.1.0 build-1065491
Power Status            = ON

Embedded NIC MAC Addresses:
NIC1 Ethernet           = a4:ba:db:3d:ea:49
     iSCSI              = a4:ba:db:3d:ea:4a
NIC2 Ethernet           = a4:ba:db:3d:ea:4b
     iSCSI              = a4:ba:db:3d:ea:4c
NIC3 Ethernet           = a4:ba:db:3d:ea:4d
     iSCSI              = a4:ba:db:3d:ea:4e
NIC4 Ethernet           = a4:ba:db:3d:ea:4f
     iSCSI              = a4:ba:db:3d:ea:50

Watchdog Information:
Recovery Action         = None
Present countdown value = 15 seconds
Initial countdown value = 15 seconds

System Info (original)

/admin1-> racadm tlsEncryptionStrength get
TLS encryption strength is TLSv1.0 or higher.

TLS info (latest)

aimeeble@blog

the blog of aimeeble