I‘m looking to install pfSense 2.2.x and I would like to install it on a hard disk drive rather than CF (compact flash). How can I install hard disk install via serial console on the soekris net5501 server?

USB booting for the net5501 is not supported. You need to use net6501 with comBIOS version 1.41. However, you can use the following method to install pfSense using a desktop or laptop computer.[donotprint]
Tutorial details
Difficulty level Advanced
Root privileges Yes
Requirements Linux/OSX
Est. reading time 20m

My sample setup

  1. Dell laptop running Ubuntu Linux LTS latest stable.
  2. External USB universal drive adapter which connect any 2.5″ or 3.5″ hard disk to a Mac or Linux based PC.
  3. 2GB Usb stick (/dev/sdc).
  4. Soekris net5501


  1. Download pfSense.
  2. Write pfSense installer image to a USB pen.
  3. Attach hard disk to an external USB universal drive adapter.
  4. Install pfSense on a hard disk.
  5. Complete the installation.
  6. After installation attach back hard to the net5501 router.
  7. Configure the serial console.
  8. Configure the firewall.

DATA LOSS Warning: By choosing the wrong destination one of the system hard disks could be erased! Check and recheck the disk selection before writing an image including USB pen and destination hard disk.

Step 1: Download pfSense

Visit this page to grab the correct version:

Fig.01: Download correct image as per your hardware

Type the following wget command:
$ wget wget http://files.uk.pfsense.org/mirror/downloads/pfSense-memstick-serial-2.2.4-RELEASE-i386.img.gz
$ wget https://files.pfsense.org/hashes/pfSense-memstick-serial-2.2.4-RELEASE-i386.img.gz.md5
$ ls
$ md5sum -c pfSense-memstick-serial-2.2.4-RELEASE-i386.img.gz.md5

Sample outputs:
-rw-r--r--  1 vivek  staff  99324384 Jul 27 04:32 pfSense-memstick-serial-2.2.4-RELEASE-i386.img.gz
-rw-r--r--  1 vivek  staff        91 Jul 27 04:34 pfSense-memstick-serial-2.2.4-RELEASE-i386.img.gz.md5
pfSense-memstick-serial-2.2.4-RELEASE-i386.img.gz: OK

Step 2: Wrtie pfSense memstick image

Use the dd command as follows as root user:
# gzip -dc pfSense-memstick-serial-2.2.4-RELEASE-i386.img.gz | dd of=/dev/sdc bs=1M

Step 3: Boot from a usb stick/pen

I’ve attached both bookable USB pen and hard disk to my Dell laptop. Turn on the laptop. Press F12 to select boot menu (check your bios settings for more info). Select USB storage device:

Fig.02: USB storage boot mode

Step 4: Installation

pfSense will start installation from a USB pen. You will be prompted as follows to start an installer:

Fig.03: Press i to invoke the installer now (click to enlarge)

Next accept the console settings (or change it as per your need):

Fig.04 The installer console can be changed to use a different font, screenmap, or keymap (click to enlarge)

At the Select Task prompt, choose “Custom Install”. If you select “Quick/Easy Install”, the installer will install pfSense on the first located disk. I’ve multiple disk in my laptop. So I selected the “Custom Install” option:

Fig. 05: Select task as “Custom Install” (click to enlarge)

Finally, select a disk. I’m going to install it on my WDC-160 GB SATA 2.5 hard disk which is connected to my laptop via an external USB universal drive adapter:

Fig. 06: Select a disk to install pfSense (click to enlarge)

Now, the installer will continue wiping the selected disk WDC and installing pfSense. Copying files may take some time to finish. Feel free to click the following images to see the exact steps:

Step 5: Install hard disk in your embedded soekris device

You need to mount WDC 160 GB hard disk on your embedded soekris server. Once installed you can boot the device and continue with firewall configuration.

Step 6: Connecting to the serial console

The primary console interface of the Soekris boards is the external serial port on my net5501. The soekris default port speed set to 19200 baud. But, pfSense set it to 115200 baud. You can use any one of the following command to (assuming a serial line on /dev/ttyUSB0):
$ cu -l /dev/tty00 -s 115200
$ screen /dev/ttyS0 115200
Sample outputs:

Fig.07: pfSense headless (console) option menu.

NOTE: To change the BIOS speed from default to 115200 on the net5501 router:
Press control-P to jump into the comBIOS monitor and set the speed:
> set ConSpeed=115200
> reboot

Step 7: Configure the firewall

Type the following url:
Here is my firewall:

Fig.08: Fully configured and working pfSense setup (click to enlarge)

You can use the same technique to install Linux, FreeBSD, OpenBSD or any other operating system on hard disk drive for the net5501 router. It is also possible to use PXE boot for installing Linux/{Free,Open,Net}BSD as described here.

Hardware and software used

🐧 Get the latest tutorials on Linux, Open Source & DevOps via RSS feed or Weekly email newsletter.

🐧 0 comments... add one

CategoryList of Unix and Linux commands
Disk space analyzersdf duf ncdu pydf
File Managementcat cp mkdir tree
FirewallAlpine Awall CentOS 8 OpenSUSE RHEL 8 Ubuntu 16.04 Ubuntu 18.04 Ubuntu 20.04
Modern utilitiesbat exa
Network UtilitiesNetHogs dig host ip nmap
OpenVPNCentOS 7 CentOS 8 Debian 10 Debian 8/9 Ubuntu 18.04 Ubuntu 20.04
Package Managerapk apt
Processes Managementbg chroot cron disown fg glances gtop jobs killall kill pidof pstree pwdx time vtop
Searchingag grep whereis which
User Informationgroups id lastcomm last lid/libuser-lid logname members users whoami who w
WireGuard VPNAlpine CentOS 8 Debian 10 Firewall Ubuntu 20.04
0 comments… add one

Leave a Reply

Your email address will not be published.

Use HTML <pre>...</pre> for code samples. Still have questions? Post it on our forum