PinePhone Podman Install

Podman is a daemonless container engine for developing, managing, and running Open Container Initiative (OCI) containers and container images on your Linux System. Podman provides a Docker-compatible command line front end. more info

runc is a CLI tool for spawning and running containers on Linux according to the OCI specification. Runc has support for checkpoint and restore as well as cgroup-v1 and cgroup-v2

Podman Setup for Manjaro ARM

Install Podman

sudo pacman -Sy
sudo pacman -S podman

Install runc container engine for checkpoint support

sudo pacman -S runc

Cgroups Setup

Downgrading cgroups-v2 enables live migration compatiblity to other PinePhone Linux distributions such as Mobian

Setup cgroups-v1 support in boot as kernel paramter by editing /boot/boot.src, append to setenv bootargs the following:

systemd.unified_cgroup_hierarchy=false systemd.legacy_systemd_cgroup_controller=yes

Save the file and rebuild u-boot config with:

sudo /boot/mkscr

Reboot the PinePhone

cgroup-v1 support should be visible by running df -h

[kde@plasma-mobile ~]$ df -h
Filesystem      Size  Used Avail Use% Mounted on
...
tmpfs           4.0M     0  4.0M   0% /sys/fs/cgroup
...

Container Engine Setup

To enable runc support, edit container’s configuration file /etc/containers/containers.conf

Under [engine] edit the default runtime from:

# Default OCI runtime
#
# runtime = "crun"

to:

runtime = "runc"

Under [engine.runtimes] uncomment runc path from:

to use the default runc path values:

Save the file and check podman config:

sudo podman info --debug

Correct setup will show:

cgroupVersion: v1
...
ociRuntime:
	name: runc