MiSTerArch / PKGBUILDs

Arch Linux ARM packages to run MiSTer
15 stars 1 forks source link
archlinux misterfpga

MiSTer + Arch Linux ARM

MisterArch Logo: A blue arch coming out of a cloud

I found out about MiSTer via LGR's MiSTer Multisystem video, since then I've been enjoying it very much.

One thing I've had difficulties with was the original OS. Despite it being designed to be an appliance, it seems very brittle to store an OS's worth of data (and precious saved games / hard drive images) on a exfat SD card. Also, any modifications you make to the OS might be lost come update time.

I want to be able to run Arch on my MiSTer! If you want to do the same this project is for you.

Installation Instructions

Screenshot of a terminal with archey3, pacman package list and systemctl status MiSTer

Community

Chat with other MiSTerArch users on:

Packages

This repository contains the PKGBUILDs for the arch linux arm packages required to run the MiSTer hardware. Including MiSTer's official uboot, kernel, binaries and support files (ex: .rbf files for cores). Ideally all updates will now be done through arch package managers, and there should be no need to run MiSTer's update scripts.

Binaries

Complete builds of these packages can be found in the binaries repo of this org. It's also served with gh-pages, which means it can be directly added as a repo in /etc/pacman.conf so your MiSTer knows where to get MiSTerArch packages automatically at update time. See installation instructions for how.

AUR

Some binary packages that are easy to "build" on a MiSTer (ex: mister-bin, mister-menu) are also mirrored on the AUR, in order to delegate the frequent repackaging to the each MiSTer device (similar to what the older update scripts used to do, but easier to manage). This might become handy once we get a couple [PKGBUILDs that can automatically version themselves](https://wiki.archlinux.org/title/VCS_package_guidelines#The_pkgver()_function).

Guidelines

We follow the -bin and -git naming conventions of the rest of the Arch community. The only added exception: -bin suffix is not required for bitstreams (pretty much all of the cores), as running quartus to compile a new binary on an armv7 MiSTer CPU would be laughable.

/media/fat

The main MiSTer binary and quite a few MiSTer scripts are hardcoded to use /media/fat as a case-insensitive location for doing everything.

For now this path's contents is under the user's control. One can even mount an old style exfat partition using /etc/fstab. For now mister-bin's post-install hook has a suggestion on how to populate things in Mister by cloning Distribution_MiSTer.

There's a couple of other techniques that might be of interest here:

In the future it's possible we'll package up such content somewhere like /usr/share/mister, and use various mounts so MiSTer can see a view of it in /media/fat. Bonus: If packaged this way such packages could be installed on x86 Arch machines that could act like a sshfs or samba server for various MiSTers on a LAN.

What now?

Now that the MiSTer runs Arch, what more could it do?