💾 Archived View for gemini.ctrl-c.club › ~nristen › gemlog › 20210608.gmi captured on 2022-04-29 at 12:23:54. Gemini links have been rewritten to link to archived content

View Raw

More Information

⬅️ Previous capture (2021-12-03)

-=-=-=-=-=-=-

Nristen's (g)log
2021-06-08

Installing agate (gemini server) on Raspberry Pi (alpine linux)

the raspberrry pi that was used in the following (g)log was:
cat /proc/cpuinfo
...
Hardware	: BCM2835
Revision	: a02082
...
Model		: Raspberry Pi 3 Model B Rev 1.2

A couple weeks ago, I ran across Alpine Linux and I have been very interested in learning more about it because it is one of the most minimal Linux distros I have found. Alpine Linux is frequently used inside docker containers because of its small size.

When I saw how fast it ran, I decided that it might be a good replacement for Raspbian OS Lite on some of my Raspberry Pis.

The default Raspberry Pi install runs from RAM which is exceptionally fast however it doesn't leave a lot of room for experimenting and I wanted a more persistant installation.

Today, I followed the instructions at:

https://wiki.alpinelinux.org/wiki/Raspberry_Pi_4_-_Persistent_system_acting_as_a_NAS_and_Time_Machine

The one change that I needed to make (discovered this from the people at OFTC IRC: #alpline-linux) was replace the "setup-disk" command with:

FORCE_BOOTFS=1 setup-disk -m sys /mnt

I skipped the section, "Tailoring for Remote Access" and everything after that.

Installing Agate

I have seen on the gemini mailing list and several gemini capsules that mention Agate as being very fast even on a raspberry pi so I decided to give it a try first.

First, I tried the Agate binary from the agate github release: agate.aarch64-unknown-linux-gnu.gz

however the binary did not execute for me.

So, I decided to compile from source. I have never compiled a Rust application before or used Cargo which I believe is a package manager for Rust (someone please correct me if I am wrong).

Commands that I ran (taken from my history)

mkdir projects
sudo apk add wget
cd projects
wget https://github.com/mbrubeck/agate/archive/refs/tags/v3.1.0.tar.gz

Connecting to github.com (140.82.113.4:443)
Connecting to codeload.github.com (140.82.114.9:443)
saving to 'v3.1.0.tar.gz'

tar xzf v3.1.0.tar.gz
cd agate-3.1.0

sudo apk add cargo cargo-doc

cargo build --release

On my Raspberry Pi 3b, the last command, "cargo build" took 26m 55s and resulted in a binary 3.1 MB.

cd target/release
sudo cp agage /usr/local/bin

Reference Links:

Agate's Github repository

Alpine Linux website

OFTC IRC Network

--------

(g)log

Home