About

Mon Jan 20, 2025

PorkAlpine is an Alpine Linux distribution focused on amateur radio (ham radio). Hence the name.

It’s small, with sane defaults, and makes a good base on which to build your hotspot, repeater, etc.

For v1.0, it only supports M17. More protocols will arrive shortly.

The main differentiation from other existing systems is that this is meant to be very comfortable for people comfortable with Linux. I have also written some tools to make it accessible for those less comfortable with the command line to enable them to avoid the command line, even for some complex tasks.

What

This is PorkAlpine - an Alpine Linux distribution for the raspberry pi and related packages (for all Alpine-supported architectures ) focused on radios and Amateur radio in particular.

One major use of PorkAlpine is hotspots, short-range access points for land mobile radios to work with larger networked radio systems. These hotspots are almost always built on MMDVM (Multi-Mode Digital Voice Modem) software. Thanks to efforts like Pi-Star and WPSD running a hotspot has been very easy - get a modem or radio board, slap it on a raspberry pi of some sort, write the disk image to an sd card, plug the card in, apply power, and away you go.

These are excellent, but as a Linux user I never felt fully comfortable using them, despite their usage of Linux.

Which brings us back to PorkAlpine: Instead of specifically building a hotspot disk image, I build my image and packages with the standard tools. All software and config is packaged.

Building packages means standard tools work, and updates are easy. It also means you can convert normal Alpine Linux to PorkAlpine with almost no effort - just add the PorkAlpine package repos and install the packages like normal. You can run a hotspot or repeater on an x86 machine, an old laptop, or anything to which you can attach a modem and run Alpine Linux, and then you can attach a modem board with a simple TTL serial adapter.

Why

Your Linux experience will be useful here, and if you don’t have much experience with Linux or the standard tooling, PorkAlpine is a place to learn things that will easily transfer to other systems.

This project represents my own interests. It’s simple, lightweight, and powerful for users that want that power. It’s built with, deployed on, and otherwise supports standardized tooling and technologies everywhere possible. I want it to be a good and stable platform that can be built on.

You will notice “convenient” is not on that list - it’s a thing I value, but my convenience is not your convenience. “User-friendly” is similar: it depends on the user. It’s also not featureful now, though one day it may be.

My idea of convenient and user-friendly is:

  • preferring abstraction over boilerplate, and configuration over mandate
  • preferring direct access over abstractions when doing so retains power or flexibility
  • including sane defaults and example configs
  • trusting that you will read documentation (and including links to the relevant docs)
  • and not doing anything automatically unless the user requests it.

The user is in charge. Software freedom is about the freedom of the user - user agency is paramount.

This philosophy is also why PorkAlpine is built on Alpine Linux - you are provided a set of tools and a kit of known-good parts, but ultimately the final product is due to your actions.

Please use this software in good health, be excellent to others and yourself, and have fun.