Skip to content

Instantly share code, notes, and snippets.

Last active October 22, 2023 06:23
Show Gist options
  • Save atomic77/7633fcdbf99dca80f31fd6d64bfd0565 to your computer and use it in GitHub Desktop.
Save atomic77/7633fcdbf99dca80f31fd6d64bfd0565 to your computer and use it in GitHub Desktop.

Setting up an Armbian build server with Multipass

In order to build an Armbian image from scratch, whether for development purposes or to apply user customizations on top of a base image, a build environment is required. Per the Armbian documentation, Ubuntu 20.04 is the officially supported build platform.

There is some support for Docker, though in my tests this has been a suboptimal experience. Even if you have access to Ubuntu 20.04 as your bare metal machine, the build process makes liberal use of sudo throughout, so it's probably not a bad idea to isolate the build process with a VM in any case.

Since the build environment is designed for Ubuntu, the flexibility (and complication) of using Vagrant to provision a VM seems a bit much when there is Multipass available that is designed for quick and painless provisioning of Ubuntu VMs.

Creating a VM and preparing for build

I have tested these commands on both Windows 10 and Fedora and they've both worked seamlessly for the purposes of an Armbian build server.

Once you have multipass installed, a Focal (20.04) instance with 4 CPUs, 4GB of RAM and 25GB of space available can be provisioned with a single command:

multipass launch --cpus 4 --disk 25G --mem 4G --name armbian focal

You can run commands direct on the instance to clone the build repo:

multipass exec armbian -- bash -c "git clone --depth 1" 

Then you can get a shell to the instance and run the build as needed:

C:\> multipass shell armbian
Welcome to Ubuntu 20.04.1 LTS (GNU/Linux 5.4.0-48-generic x86_64)
Last login: Tue Oct  6 21:39:16 2020 from
ubuntu@armbian:~$ cd build
ubuntu@armbian:~/build$ ./ BOARD=orangepilite ... etc

Multipass also offers out-of-the-box SSHFS mount support for easy copying of build artifacts in and out from the VM:

multipass mount /my/dir armbian:/home/ubuntu/mnt
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment