Note: PC Engines - End of Life

Installing the latest IPFire (via PXE) on a brand new APU2E4 did not work, and was not simple to fix - the installer reported an out of memory error, or similar (didn't make notes, unfortunately). Additionally, the oldest version that was available on the PXE boot failed with serial console gibberish output. Other users reported similar issues.

This post details instructions that will get you to the latest IPFire install, without too much wasted time. We are focused on reliably installing IPFire to an APU board; it's important, therefore, that you use the exact versions of the linked downloads and installers. These will get you up and running.

You will need

  • an APU2E4 with an installed disk
  • a null modem serial cable
  • a USB thumb-drive
  • Back up previous data as it will need to be wiped
  • a computer with e.g. root + dd in order to flash above USB drive
  • connection to the internet, likely via ethernet, to do the actual IPFire install

We'll need to download about 1.5GB of data. If your internet connection is prohibitively slow, plan to download the .iso files ahead of time or acquire them in another manner.

Serial cable test and BIOS update

Before we install IPFire, we need to get the latest APU BIOS flashed to our unit. As a nice side effect, this will also test your serial cable if you are not sure whether or not it's working right and is the correct type: e.g. you just bought one for the first time off of a non-PCEngines retailer.

  1. Download Debian live standard ISO image
    • make sure it has standard in the name and is a .iso file
    • e.g. here.
      Or directly.
      This link may be bit rotted; just look for standard.iso wherever Debian downloads are.
  2. carefully flash this to your USB using e.g. dd.
  3. Insert USB and hook up serial cable to APU. Boot it.
  4. On boot menu, hit TAB and add console=ttyS0,115200n8 to the command line options.
    • This is a good test of your serial cable. If you see gibberish, test serial cable and ensure it is null modem or equivalent.
  5. Log in: username user, password live
  6. Become root: sudo su
  7. Run: apt update && apt install flashrom
  8. wget latest firmware. For APU2 series, get the APU2 series firmware.
    • firmware site
    • ex: wget https://3mdeb.com/open-source-firmware/pcengines/apu2/apu2...
    • verify hash. You don't want to flash a broken download. This 5 second check will save you a lot of headaches.
  9. Run:
    flashrom -w apu2_vx.y.z.a.rom -p internal:boardmismatch=force
    • The force flag seems to be needed as the manufacturers almost, but don't quite, align.
  10. Power off APU; unplug flash.

IPFire install

We have a working serial cable and an APU unit with the latest BIOS. We need to install an older IPFire image that we know works. Other versions may or may not work. Recall we're focused on reliability, not efficiency.

  1. Download .iso from here.
  2. carefully flash with e.g. dd to your USB drive.
  3. Unplug USB drive and plug into APU; boot APU.

From here, you should be able to install IPFire fairly simply following the vanilla install instructions.

Updating to latest IPFire

Once you're all set up with IPFire, you can update to the latest via the web GUI. Visit the router homepage on :444 and look for an update to core is available message.

You will likely need to do this at least twice; once to get you from 2.23 to an intermediate stage, and then from the intermediate stage to latest.

References