Introduction

I spent too much time trying to find how to install pfSense on a Soekris net5501. Why? Because no PXE versions exist or are easily installable, and also due to configuration and connection issues. To help others save time and for my own reference, I’ve decided to write this article.

Installation

Let’s say I have a hard drive to install pfSense on. I connected it to my Ubuntu Desktop laptop through a USB external 2.5" box and used KVM/QEMU. Here are the required packages:

  aptitude install kvm virt-manager
  

Do not forget to add your user to the ‘kvm’ group.

Now use virt-manager to create a VM with:

  • CDROM: the pfSense ISO
  • HDD: the direct USB box

Then boot the VM and perform the installation.

Configuration

1st boot

For the first configuration part, you should install the hard drive in the Soekris box and boot it. I’m using minicom and I’ve set these serial parameters as: 9600 7E1

Then you’ll likely encounter this issue:

  Trying to mount root from ufs:/dev/ad0s1a
Trying to mount root from ufs:/dev/ad0s1a
Trying to mount root from ufs:/dev/ad0s1a

Manual root filesystem specification:
  <fstype>:<device>  Mount <device> using filesystem <fstype>
                     eg. ufs:da0s1a
  ?                  List valid disk boot devices
  <empty line>       Abort manual input
  

This is because the device during installation didn’t get the same device name on the Soekris. There is a way to fix this. Try something like this:

  mountroot> ?
List of GEOM managed disk devices:
  ufsid/4cf95e52836e2e4f ad1s1c ad1s1b ad1s1a ad1s1 ad1

Manual root filesystem specification:
  <fstype>:<device>  Mount <device> using filesystem <fstype>
                     eg. ufs:da0s1a
  ?                  List valid disk boot devices
  <empty line>       Abort manual input
  

Now we’re going to boot on the correct root slice:

  ufs:ad1s1a
  

Web interface

Now the web interface is available through port 0 on IP 192.168.1.1. The default credentials are:

  • Login: admin
  • Password: pfsense

Proceed with your desired configuration.

Remote connection

Now you’re able to set default connections. I mean correct default serial parameters and no exotic ones, as well as the SSH server. Go to System -> Advanced to enable it.

Fstab

To avoid manually mounting the root filesystem at next boot, we’ll change the fstab file through our new SSH connection. Change the device values to the correct ones. For me, I had to change from ad0 to ad1 (/etc/fstab):

  # Device                Mountpoint      FStype  Options         Dump    Pass#
/dev/ad1s1a             /               ufs     rw              1       1
/dev/ad1s1b             none            swap    sw              0       0
  

Soekris

Now reboot and set the connection parameters to 9600 to get the hardware and OS at the same configuration level.

That’s all :-)

Last updated 03 Dec 2010, 23:29 +0200. history