/containerd-arm

Arm64 & armhf binaries of containerd

MIT LicenseMIT

containerd-arm

This repo contains binary releases of containerd built for armv7.

Why is this needed?

Binaries are not available for containerd for armv7 (32-bit Arm OSes). You can download binaries from this repository, or build them yourself.

These binaries are consumed by users of faasd when using a 32-bit Operating System for the Raspberry Pi.

Installation

Check that you are running on an arm machine with uname -a.

You may need to install pre-reqs using apt:

sudo apt update \
  && sudo apt install -qy \
    git \
    tmux \
    build-essential \
    runc \
    bridge-utils \
    libbtrfs-dev btrfs-tools

On some versions of Ubuntu, you may need btrfs-progs instead.

On Ubuntu Bionic I was unable to find the libbtrfs-dev package.

Fortunately CNI is available for multiple architectures. See the faasd instructions for how to install CNI for armhf

32-bit ARM

Aka armhf for the 32-bit Raspberry Pi OS.

curl -sSL https://github.com/alexellis/containerd-arm/releases/download/v1.3.5/containerd-1.7.18-linux-armhf.tar.gz | \
  sudo tar -xvf --strip-components=1 -C /usr/local/bin/

Building your own binaries

If you want to build from source, install the pre-reqs from above, along with Go 1.22 or later.

See also BUILDING.md

curl -sLS https://get.arkade.dev | sudo sh \
  && sudo arkade system install go

Make sure that you've installed the pre-reqs from the "Installation" section.

mkdir -p $HOME/go/src/github.com/containerd/
cd $HOME/go/src/github.com/containerd/
git clone https://github.com/containerd/containerd

cd containerd

export VER="v1.7.18"

git checkout $VER
tmux

export PATH=$PATH:/usr/local/go/bin/
export GOPATH=$HOME/go
time make

If you run into an error, check the pre-reqs are present from the top of the README file.

Then extract the binaries, for the releases page:

export VER="1.7.18"

cd bin/ \
 && tar -czvf $HOME/containerd-$VER-linux-armhf.tar.gz ./