This page is intended to describe how to run Debian’s backports on a Raspberry Pi. Backports is Debian’s way of building newer packages for its stable releases. I intend this page specifically to help people run the Debian packages for NNCP and Yggdrasil, both of which are maintained by me, John Goerzen.
Most Raspberry Pis will be running Raspberry Pi OS or its close cousin, Raspbian.
Before proceeding, verify that your system is compatible with these instructions.
Raspbian uses a modified version of Debian’s armhf port. We will be using an unmodified armhf port. The Debian Wiki Raspberry Pi page describes which models are compatible with the unmodified armhf port. As of March 2022, here is what you need to know:
- Not compatible: Pi 1 series (A, B, A+, B+, Zero, Zero W)
- Compatible: All newer ones, including Pi 2, 3, 3A+, 3B+, Zero 2 W, 4, 400
You can verify your model by typing
cat /proc/cpuinfo. You will see the model name at the end of the output.
You will need to be running the Raspberry Pi OS based on Debian bullseye. Here’s how to verify this:
First, run this:
grep bullseye /etc/apt/sources.list
If you see no output, you are on a version that is too old, and will need to first reinstall with the most recent Raspberry Pi OS.
On the other hand, if you see a lone or more of output, you’re good to proceed.
Obtaining the Debian Archive Keyring
Now, you will need to install the Debian archive keyring so that apt on your pi can authenticate the packages from Debian. Run these two commands:
curl -O http://http.us.debian.org/debian/pool/main/d/debian-archive-keyring/debian-archive-keyring_2021.1.1_all.deb sudo dpkg -i debian-archive-keyring_2021.1.1_all.deb
If that link ever stops working, the Debian package page can help you get a newer one.
Configuring for backports
Now, run this:
echo "deb http://deb.debian.org/debian bullseye-backports main" | \ sudo tee /etc/apt/sources.list.d/buster-backports.list apt-get update
At this point, you should have seen the update progress with no errors. Now you can move on to install your packages. You will need to add
-t bullseye-backports to apt/apt-get for every package you install from backports. For instance:
apt-get -t bullseye-backports install nncp apt-get -t bullseye-backports install yggdrasil
Links to this note
Filespooler lets you request the remote execution of programs, including stdin and environment. It can use tools such as S3, Dropbox, Syncthing, NNCP, ssh, UUCP, USB drives, CDs, etc. as transport; basically, a filesystem is the network for Filespooler. Filespooler is particularly suited to distributed and Asynchronous Communication.
One of several single-board computers. The Raspberry Pi is an ARM computer that typically sells for less than $50. Generally is runs a derivative of Debian.
NNCP lets you securely send files, or request remote execution, between systems. It uses asynchronous communication, so the source and destination need never be online simultaneously. NNCP can route requests via intermediate devices – other NNCP nodes, USB sticks, tapes, radios, phones, cloud services, whatever – leading to a network that is highly resilient and flexible. NNCP makes it much easier to communicate with devices that lack Internet connectivity, or have poor Internet.
Yggdrasil is a Mesh Network that is fully Encrypted and provides an IPv6 IP on the network to anyone.