Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/alexellis/containerd-arm

Arm64 & armhf binaries of containerd
https://github.com/alexellis/containerd-arm

Last synced: 21 days ago
JSON representation

Arm64 & armhf binaries of containerd

Awesome Lists containing this project

README

        

# containerd-arm

This repo contains binary releases of [containerd](https://github.com/containerd/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](https://github.com/openfaas/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`:

```bash
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](https://github.com/openfaas/faasd/blob/master/docs/DEV.md) for how to install CNI for armhf

### 32-bit ARM

Aka armhf for the 32-bit Raspberry Pi OS.

```bash
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](https://github.com/containerd/containerd/blob/master/BUILDING.md#build-containerd)

```bash
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.

```bash
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:

```bash
export VER="1.7.18"

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

```