MNT Reform (Part 1)

So I wrote a long post about the MNT Reform image build process. And then unintentionally deleted it. So you're getting the short version here.

Linux-libre

Currently the Reform images are built with Linux 5.11rc7. I haven't looked into why that version in particular, but building is currently required as we need to apply some patches and add our device tree file. I personally use the linux-libre. While upstream linux stopped shipping blobs in /firmware starting with 4.14, that was a technical decision, not an ethical one. My concerns are ethical first, technical second - so I prefer to get my kernel source from people distributing code with similar priorities in mind.

In terms of blobs the MNT Reform requires, it seems to be in a good position. Etnaviv requires no blobs. If you buy a DIY kit, they offer an ath9k card as an addon (arguably the only contemporary wifi card that doesn't require blobs). A blob is required if you would like to use HDMI out. I have no real interest in doing so, so I can live with that.

The build process is identical, except rather than using git clone, we fetch the tarball from the FSFLA servers and extract it to the same place.

wget "http://linux-libre.fsfla.org/pub/linux-libre/releases/5.11-rc7-gnu/linux-libre-5.11-rc7-gnu.tar.xz"
tar xvf linux-libre-5.11-rc7-gnu.tar.xz --strip-components=1 -C linux 

Devuan

I use Devuan instead of Debian. I don't have anything major against systemd. I manage servers that run systemd as a full time job. Some of my best friends use systemd. But I do have some issues with it, and the beauty of free software is that I can just use (and support!) something else.

The build process for the Reform's recovery and system images leverages mmdebstrap to construct a minimal base system that can then be populated with our custom Linux kernel.

mmdebstrap --architecture=arm64 --components=main --variant="minbase" ceres target-userland http://deb.devuan.org/merged/

With the exception of replacing a single systemd unit that calls reform-hw-setup.sh, and a script that systemd calls on shutdown (reform-poweroff), there's no work to be done to use devuan instead of debian. Granted, I don't have a device I can test that hypothesis with.

Todo