HP MicroServer Gen8 - can't install 2.3.x
I just spent some time setting up an old box I have kicking around the garage with pfSense. Can never have too many pfsenses right?
So I went to install 2.3.4 first using my trusty USB flash disk (which I carry in my go bag - see above!). But no matter what I did, I couldn't get it installed. I'd get an error saying
/sbin/bsdlabel -B -r -w ada0s1 auto FAILED with a return code of 1
I then tried 2.3.3 and 2.3.2 as well - both gave the exact same error. I thought the disk (60GB SSD) was busted. So I installed Windows 10 Pro on it - that went without a hitch.
I then went into my stash and pulled out a 2.1.5 disk - this installed flawlessly. What a blast from the past - haven't used such an old system in a while! Anyway, I then tried to use the built-in firmware upgrade system to bring it up to 2.3.4. It looked like it was going to succeed, until it failed at mounting the root file system. There were some lines about "GEOM_RAID" - which is wierd because I have no RAID on this system.
GEOM_RAID: Intel-c21dd2d3: Array Started. GEOM_RAID: Intel-c21dd2d3: Volume Volume 0 state changed from STARTING to BROKEN.
These lines were immediately followed by:
Trying to mount root from ufs:/dev/ad12s1a [rw].... mountroot: Waiting for device ufs:/dev/ad12s1a ... Mounting from ufs:/dev/ad12s1a failed with error 19
No RAID on this system - just a plain' old SSD attached to the motherboard with a SATA cable (AHCI Mode). I've attached a snippet of the log although I'm not sure how helpful that will be.
Any ideas on what is causing this, and what i can do to install pfSense properly on this system?
Ok so this is "Fixed" now.
The issue is in the bsd/pfSense installer for the latest few versions.
The problem is that there is some sort of garbage on the disk that wasn't getting wiped out by a format. The only thing that worked in the end was totally zeroing out the disk. This must have wiped whatever data was on there that was causing the installer to choke.
You can use any Linux distro to zero out the disk. You can also use a utility like "DBAN" to wipe it out.
I am now getting some insight into why some of my pfSense installs have randomly glitched out after firmware updates while others have been fine on the same hardware. This was likely the events that lead to my issues:
1. Repurpose disk with "garbage" data on it that will make some future verison of pfSense/BSD choke out
2. Install 2.1.5 (or whatever flavor) on it - it completes fine, no errors
3. A few months/years down the line, a firmware upgrade is released (say 2.2).
4. You run this in your lab - everything OK so you start upgrading production boxes
5. Some production boxes sporadically won't come back wile others are fine.
Is there anything I can do short of totally zeroing out the disk to fix this? This is problematic and time consuming, especially on a day like today when I had a crisis and I was trying to install pfSense quickly but getting thwarted at every conjecture. Some way to make the installer / firmware upgrade system deal with this gracefully?
A Microserver Gen 8 is "… an old box I have kicking around the garage ..."?
The "garbage" in your case was SoftRAID metadata from an earlier installation. The default kernel in pfSense probes for that metadata and if it detects a broken RAID array on the disk it's going to cause problems.
There's a pfSense wiki article describing a workaround that can be used with the install disk/image as well to prevent the graid driver from trying to use the broken RAID metadata: