Skip to content

t13a/archlinux-cloud

Repository files navigation

archlinux-cloud

Build Status

An Arch Linux cloud installation image.

Get the latest release

You can download the latest and past releases from GitHub releases.

Alternatively, if you have bash, curl and jq installed on your computer, you can get the latest release with the following command.

$ curl -fsSL https://raw.githubusercontent.com/t13a/archlinux-cloud/master/get-archlinux-cloud.sh | sh

Boot with cloud-init

Please refer to the official documentation for a general explanation.

In Arch Linux, cloud-init 19.1 tries network configuration with netctl. However, this does not work well because it has a bug. As a workaround, the following example shows how to use systemd-networkd and systemd-resolved with bootcmd module instead of using normal network configuration.

#cloud-config
...
bootcmd:
- |
    cat << EOF > /etc/systemd/network/ethernet.network
    [Match]
    Name=eth0

    [Network]
    DHCP=yes
    EOF
...

Development

The build process and E2E tests (using QEMU) are run entirely on the Docker container. Therefore, it can be easily integrated with modern CI tools.

Prerequisites

  • Bash
  • Docker
  • Docker Compose
  • GNU Make
  • KVM enabled Linux (optional but strongly recommended)

Build and test the ISO image

The following command generates the ISO image at dist/archlinux-cloud-YYYY.mm.dd-x86_64.iso then run all E2E tests.

$ make

To delete all generated files, run the following command.

$ make clean

References