Daily updated Arch Linux and ALARM image https://hub.docker.com/r/depau/archlinux-daily/tags
Find a file
2021-07-31 14:00:30 +02:00
rootfs Fix aarch64 mirrorlist 2021-04-10 23:31:08 +02:00
.drone.yml Remove node labels from CI config 2020-04-20 03:11:40 +02:00
.travis.yml Revert "update Docker before installing" 2019-01-24 15:56:43 +01:00
create-manifest use Docker manifest capabilities 2019-01-23 22:59:30 +01:00
Dockerfile.aarch64 Workaround docker build error 2021-07-31 14:00:30 +02:00
Dockerfile.armv7h Revert to having a small "base" image 2020-04-17 00:22:34 +02:00
Dockerfile.x86_64 Workaround docker build error 2021-07-31 14:00:30 +02:00
LICENSE Create LICENSE 2020-04-18 06:34:42 +02:00
pacstrap-docker Ensure pacman.conf is copied to the new root 2021-03-20 15:09:06 +01:00
README.md Update README 2020-12-17 05:44:00 +01:00

Builds here: https://cloud.drone.io/Depau/docker-archlinux-daily/

Docker repo: https://hub.docker.com/repository/docker/depau/archlinux-daily


Original readme:

Basic Arch Linux ARM Docker images Build Status

Docker images for Arch Linux ARM on AArch32 (ARMv7-A) and AArch64 (ARMv8-A). Built using native pacman and Docker multi-stage builds. Builds weekly by Travis CI on publicly visible infrastructure using Qemu emulation.

Running the images

The images are on Docker Hub. Use the convenient docker run:

docker run --rm -ti agners/archlinuxarm

Instead of using the multi-arch container above, you can also get the architecture specific image directly:

docker run --rm -ti agners/archlinuxarm-arm32v7

Tags

Tag Update Type Description
latest weekly minimal minimal Arch Linux ARM with pacman support

Layer structure

The image is generated from a freshly built pacman rootfs. Pacman has configured to delete man pages and clean the package cache after installation to keep images small.

Issues and improvements

If you want to contribute, get to the issues-section of this repository.

Common hurdles

Setting the timezone

Simply add the TZ environment-variable and define it with a valid timezone-value.

docker run -e TZ=Europe/Berlin agners/archlinuxarm

Building it yourself

Prerequisites

  • Docker with experimental mode on (required for squash)
  • sudo or root is neccessary to setup binfmt for Qemu user mode emulation

Building

  • Prepare binfmt use with Qemu user mode using sudo ./prepare-qemu
  • Run BUILD_ARCH=<arch> ./build to build
    • Use BUILD_ARCH=arm32v7 for ARMv7 Aarch32
    • Use BUILD_ARCH=arm64v8 for ARMv8 Aarch64

If you want to push the images, run ./push. But be aware you have no push access to the repos! Edit the scripts to push to custom Docker Hub locations!

Building from scratch

Since the image depends on itself, the question which arise is how this all started. The initial containers have been created using the tarballs provided by the Arch Linux ARM project. I used the following steps to bootstrap for each architecture:

sudo tar xvzf ArchLinuxARM-armv7-latest.tar.gz -C tmp-arch
sudo tar cf ArchLinuxARM-armv7-latest.tar -C tmp-arch/ .
docker import ArchLinuxARM-armv7-latest.tar agners/armv7-archlinux:latest

Credits

Ideas have been taken from already existing Docker files for Arch Linux. However, this repository takes a slightly different approach to create images.