Upgrade from 21.05 to 21.05.2 bricked SG-2440
-
I've been holding off doing this update due to the history of these things not booting afterwards, and since 21.05.2 was sitting around for a while and I was only a little bit behind, I figured it was safe to install. When will I learn.
Connecting the serial cable and booting, I see a few things that are troubling:
ERROR: It was not possible to identify which pfSense kernel is installed
/usr/local/lib/php/20190902/opcache.so doesn't appear to be a valid Zend extension
/etc/pfSense-rc: /usr/local/sbin/fcgicli: Exec format error
nice: /usr/local/sbin/check_reload_status: Input/output ErrorPHP_ERROR: Type: 1, File: /ec/inc/util.inc, Line: 684, Message: Uncaught Error: Class 'Net_IPv6' not found in /etc/inc/util.inc:684
Eventually I'll get the "Bootup complete" message, but am never given any menu or prompt. Just a bunch of "getty repeating too quickly on port /dev/ttyv0 (and v1), sleeping 30 secs.
I attempted to do a reset-button factory reset, which completed successfully, but didn't fix this particular problem.
I also attempted to boot to the older kernel -- again no love.
Now I'm trying to boot an imaged usb drive, but that just sits at a | prompt and doesn't boot. I've tried three different usb drives -- the first I flashed with etcher, and the other two I used this command:
sudo dd if=pfSense-CE-memstick-serial-2.5.2-RELEASE-amd64.img of=/dev/disk4 bs=8192
The mac sees the drive after the flash completes -- titled pfSense. I'm using screen for terminal emulation:
screen /dev/tty.usbserial-0131AA2D 115200
Any ideas? I've swapped out this with my backup with 2.4.5-release loaded, but unfortunately I can't load any of the extra packages that I was using since there doesn't seem to be a compatible branch I can choose as my upgrade source. I do NOT want to upgrade to the latest "stable" branch for obvious reasons.
I am able to get a prompt if I choose single user during boot, but am not sure what I can do to fix things there.
-
Well, booting to single user and running fsck on the root mount is showing inode file size problems for lots of files -- I think it could be a false positive though since the "size should be" always shows the same number even though the inodes belong to different files?
INODE 1766326: FILE SIZE 2364888 BEYOND END OF ALLOCATED FILE, SIZE SHOULD BE 393216 ADJUST? [yn] n INODE 1766332: FILE SIZE 2406440 BEYOND END OF ALLOCATED FILE, SIZE SHOULD BE 393216 ADJUST? [yn] n INODE 1766618: FILE SIZE 5191472 BEYOND END OF ALLOCATED FILE, SIZE SHOULD BE 393216 ADJUST? [yn] ^C ***** FILE SYSTEM STILL DIRTY ***** # find / -inum 1766618 /usr/local/libexec/sshg-parser # find / -inum 1766332 /usr/local/sbin/dnssec-signzone # find / -inum 1766326 /usr/local/sbin/dnssec-settime #
If I can just get the thing flashed I'd be able to restore from the backup I made right before performing the update.
-
Ah, just noticed that the firmware I downloaded to re-flash to factory may not have been appropriate for the SG (2.5.2) -- Apparently I need the "plus" firmware that requires opening up a support ticket to download. I went ahead and created that ticket. Crossing fingers.
-
Sweet -- thankfully Netgate must have some automation set up for requesting firmware downloads since I got an email shortly after the request (that or they have some people working late of there!). That firmware booted just fine and I was able to restore from my back and get everything up and running again.
I'll do the same with my backup sg unit now too.
Curious about the file system corruption though -- I thought journaled filesystems made that a problem of the past.
-
There is some automation there but it's not fully automated. Support work 24/7 though.
Just for reference you can install CE on the SG-2440 but you need to use the ADI specific image because of it's serial console setup. So for example this:
https://nyifiles.netgate.com/mirror/downloads/pfSense-CE-memstick-ADI-2.5.2-RELEASE-amd64.img.gzBut you should run Plus on the SG-2440 if you can anyway.
Steve