Arch-boxes provides automated builds of the Arch Linux releases for different providers and formats.
The images is built daily and released biweekly (via [GitLab CI schedule](https://gitlab.archlinux.org/archlinux/arch-boxes/-/pipeline_schedules)) and synced to the mirrors.
## Usage
## Images
### Vagrant
### Vagrant
If you're a vagrant user, you can just go to [**our Vagrant Cloud page**](https://app.vagrantup.com/archlinux/boxes/archlinux) and follow the instructions there.
Vagrant images for the VirtualBox and Libvirt provider are released to [Vagrant Cloud](https://app.vagrantup.com/archlinux/boxes/archlinux).
### Basic image
### QCOW2 images
If you want to run Arch Linux locally in a VM (ex: for quick ad hoc testing), you can use our basic image, which comes preconfigured with a `arch` user (password: `arch`). It is built daily and can be downloaded [here](https://gitlab.archlinux.org/archlinux/arch-boxes/-/jobs/artifacts/master/browse/output?job=build:secure)(`Arch-Linux-x86_64-basic-xxxxxxxx.xxxx.qcow2`).
At the time of writing we offer two different QCOW2 images. The images are synced to the mirrors under the `images` directory, ex: https://mirror.pkgbuild.com/images/.
### Cloud image
#### Basic image
If you want to run Arch Linux in the cloud, you can use our cloud-image, which is preconfigured to work in most cloud environments. It is built daily and can be downloaded [here](https://gitlab.archlinux.org/archlinux/arch-boxes/-/jobs/artifacts/master/browse/output?job=build:secure)(`Arch-Linux-x86_64-cloudimg-xxxxxxxx.xxxx.qcow2`).
The basic image is meant for local usage and comes preconfigured with the user `arch` (pw: `arch`) and sshd running.
The default user is `arch`.
#### Cloud image
The cloud image is meant to be used in "the cloud" and comes with [`cloud-init`](https://cloud-init.io/) preinstalled. For tested cloud providers and instructions please see [#133](https://gitlab.archlinux.org/archlinux/arch-boxes/-/issues/133).
If you are running the cloud-image with QEMU, it can in some cases\* be beneficial to run the [QEMU guest-agent](https://wiki.qemu.org/Features/GuestAgent). This can be done with the following user-data:
```yaml
#cloud-config
packages:
-qemu-guest-agent
runcmd:
-[systemctl,daemon-reload]
-[systemctl,enable,qemu-guest-agent]
-[systemctl,start,qemu-guest-agent]
```
*\*ex: when using [Proxmox](https://pve.proxmox.com/wiki/Qemu-guest-agent) or [oVirt](https://www.ovirt.org/develop/internal/guest-agent/understanding-guest-agents-and-other-tools.html). Please be aware, that the agent basically gives the host root access to the guest.*
Be advised, however, that our automatic builds are cleaned up after a few days so you can't hard-code a specific image version anywhere.
You can use this snippet to always get the most recent image and check its integrity (you need to install `hq` for this):
most_recent=$(curl -Ls 'https://gitlab.archlinux.org/archlinux/arch-boxes/-/jobs/artifacts/master/browse/output?job=build:secure' | grep cloudimg | grep -vi sha256 | hq a attr href | sed "s|artifacts/file|artifacts/raw|")