Installation on a ARch Linux Armv8 x64

Hello there,

I would like to install Brewblox on a fresh Arch Linux using ARMv8_64 (that I installed with Sway windows manager). How do you feel this operation ? What can I do to change the debian commands to Arch ones if you can maybe guide me a bit throught this.

I’m up to make a repository somewhere and share tto everyones.

Thanks in advance.

The debian commands aren’t really your most pressing concern: the ARM64 architecture is.

We currently only build Docker images for AMD64 and ARM32. This is mostly due to practicality.

Starting an ARM64 build on our end is trivial. Add linux/arm64 to the --platform argument seen eg. here. (repeat for ~10 other image builds). The problem is that those builds then take an hour. We pull pre-built python dependencies from PyPi (AMD64) and Piwheels (ARM32). If those are not available, builds suddenly take much longer.

The increase in build time is mostly due to emulation. The build servers we use are AMD64. We can emulate an ARM architecture using buildx, but that causes a factor 10 increase in build times.

You can choose to build and use your own images. This would entail cloning the code repositories, and running a build script for each release.
It requires some additional configuration, and running some scripts for each release, but it’s far from impossible.
The good news is that if you’re building locally, you don’t need to mess around with crosscompilation builders. You can just use the normal docker build command.

Okay good to know. It is indeed a more problematic concern. But we will come to arm64 soon as the current official beta suggest it (ie. ).
I will then take the time and make these builds. Otherwise, if sometime I can ask a question or two, especially for the configuration part, that would be appreciable!
Glad to see that is feasible and big thanks to you. I’ll play a bit with this :slight_smile:

ARM64 support indeed is on its way. We’ll include it as soon as Piwheels adds support, or some other mirror for pre-built wheels becomes available.

For now, I’d first get started with installing dependencies.

pacman -S python python-pip
pip3 install --user setuptools brewblox-ctl
exec $SHELL --login
brewblox-ctl install

You can choose “no” when asked to install apt dependencies. I don’t have an arch install right now, so you’ll have to see what happens, and whether it’s missing anything.

Beyond that: feel free to poke me on Slack. I can send you an invite if you’re not on there already.