Mar 19, 2026·3 min read·
#networking#opnsense#pfsense#homelab#hardware

🔥Installing OPNsense on a pfSense SG-4860: Fixing the Console Output Problem

Problem

I had a pfSense SG-4860 running a version of pfSense from 2017. I wanted to replace it with OPNsense, but when I booted the OPNsense installer via USB, I got no output on the serial console. The device was clearly booting—pulling power, drive activity—but the console was completely blank.

I tried different baud rates, different terminal emulators, different USB-to-serial adapters, various key sequences to interrupt the boot, and even asked Claude for help. Nothing worked.

After days of searching, I found a thread on the OPNsense forum where a user named pylox had the same problem and solved it by editing the boot configuration files directly on the installer media.

Solution

The OPNsense installer's default console speed doesn't match what the SG-4860 expects. Mount the installer USB drive and edit (or create) /boot/loader.conf.local:

comconsole_speed="115200"

That single line is all I needed. After this change, the installer booted with full console output and the installation proceeded normally.

Mounting the FreeBSD Installer on macOS

The OPNsense installer uses a FreeBSD filesystem (UFS) which macOS can't read natively. Here's how to mount it:

1. Enable system extensions — If you haven't already, reboot into Recovery Mode and enable system extensions. This is a one-time setup required for third-party kernel/system extensions.

2. Install macFUSE and fuse-ufs2

bash
brew install --cask macfuse
brew install macos-fuse-t/homebrew-cask/fuse-ufs2

3. Grant permissions — Go to System Settings > Privacy & Security and approve the system extensions for both macFUSE and fuse-ufs2. Restart if prompted.

4. Mount the installer drive

bash
diskutil list

Find the USB drive (e.g. /dev/disk4) and locate the freebsd-ufs partition (usually s3 or similar).

bash
sudo fuse-ufs /dev/disk4s3 /mnt/opnsense -o rw

5. Edit the boot config

bash
sudo nano /mnt/opnsense/boot/loader.conf.local

Add comconsole_speed="115200", save, and unmount:

bash
sudo umount /mnt/opnsense

If That's Not Enough

pylox's forum post suggested a larger set of changes. I only needed comconsole_speed, but if that alone doesn't work for your hardware, try the full set in /boot/loader.conf.local:

hint.uart.0.flags=0x0
hint.uart.1.flags=0x10
comconsole_speed="115200"
comconsole_port="0x2F8"
console="comconsole"
kern.cam.boot_delay="10000"

The comconsole_port changes which serial port is used, console forces serial console output, and kern.cam.boot_delay gives attached storage devices extra time to initialize.

Credit

All credit goes to pylox on the OPNsense forum for sharing this solution. I'm writing this because it took me days to find that thread, and I hope this saves the next person some time.

👨‍💻

AJ Brown

20 years of building things for the internet. Currently making education smarter with AI at McGraw Hill. Previously securing the world's open source supply chain at Sonatype.