Install IPFire on a Raspberry Pi CM4 on DFRobot Carrier Board over Serial Console

This tutorial covers how to install a IPFire Firewall on to a Raspberry Pi Compute Module 4 that is carried on DFRobot's Router Carrier Board Mini using a serial console.

Disclaimer: all provided links in this article aren't sponsored!

Tutorial tested against a Raspberry Pi Compute Module 4 (4GB, rev. 1.2) and IPFire Core Update 179. During the setup a second Raspberry Pi 4 with local attached keyboard and monitor was used.
  • SD-Card (32 GB) + SD-Card-Reader
  • Raspberry Pi Compute Module 4 (4GB RAM recommended)
  • Jumper Wires (Female to Female)
  • Official Raspberry Pi USB-C Powersupply (CM4 requires 5V 3A!)
  • Configured and running Raspberry Pi (either with SSH-access or working display output)

Depending on your Setup:

  • HDMI-Cable
  • Keyboard

Download the aarch64 Flash Image from IPFire's webpage: ipfire.org/download. Then flash the Image on another computer to the SD-Card. Therefore you can use Win32DiskImager (Windows), the official Raspberry Pi Imager (Linux, Windows and MacOS) or BalenaEtcher (Web, Linux and Windows).

  • The compressed IMG is required, the ISO image will not work!
  • If experiencing boot issues when using newer hardware revisions have a look at the official IPFire wiki: wiki.ipfire.org!

Before ejecting the SD-Card perform the following changes:

→ Enable the serial console: add (if not present) enable_uart=1 to config.txt.

→ Check if SERIAL-CONSOLE in uENV.txt is SERIAL-CONSOLE=ON.

Now connect the following pins on your carrier board's GPIO and your second Pi's GPIO with three jumper wires (female to female):

Carrier Board (CM4) 2nd Raspberry Pi Use
6 6 Ground
10 8 Receive and send
8 10 Send and receive

When connected properly you can power up the carrier board.

(It is recommended to first power up the second Pi and start the serial console before powering up the carrier board.)

Image sourced from siocours.lycees.nouvelle-aquitaine.pro

Before you can open a serial connection: serial console must also be enabled on the Pi from which you wish to connect. Therefore check if your /boot/config.txt contains enable_uart=1. If not, add it and reboot.

Then you can execute the follwing command from the second Pi to connect to your serial console. It doens't matter if you're using an attached keyboard and monitor or a SSH-connection.

screen /dev/ttyS0 115200

Finally perform the setup of IPFire as usual!

With Ctrl+A and D you can quit the screen-session.

Resources used: cyberciti.biz - linux serial console, scribles.net - uart communitation between to Raspberry Pis and wiki.ipfire.org - Raspberry Pi 4 Model B

  • raspberry-pi/ipfire-on-rpicm4.txt
  • Last modified: 2023/09/29 08:23
  • by Zyzonix