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