Operating System

The MEEP recommended Operating System is based on Fedora 33. In the following sections you will be able to access the system, to update already installed packages with the most recent version, to install new packages not provided with the initial distribution, and to use container images provided for your convenience.

Updating Linux distribution

The operating system is already configured to support the fedora-meep repository. To install any additional package you can dowload and install it or you can configure the dnf repository:

sudo yum install -y yum-utils
sudo yum-config-manager  --add-repo  https://release.meep-project.eu/nexus/repository/acmerpm/

If you have problems with the yum-config-manager, you can configure it manually. Create a acme.repo file in /etc/yum.repos.d/. It could look similiar to the following:

cat /etc/yum.repos.d/acme.repo

[acmerepo]
name=ACME Repository
baseurl= https://release.meep-project.eu/nexus/repository/rpmacme/
enabled=1
gpgcheck=1
gpgkey=https://release.meep-project.eu/RPM-GPG-KEY-rpmacme
repo_gpgcheck=1
skip_if_unavailable=False

Download and import the packages key by executing:

curl https://release.meep-project.eu/RPM-GPG-KEY-rpmacme > RPM-GPG-KEY-rpmacme

rpm --import RPM-GPG-KEY-rpmacme

Now you can install packages from acme repo:

$sudo dnf install package-name

for example to install docker support.

The source specs, is the only thing mofied from the source package. You can get the original source from fedora buildsystem

sudo dnf -y install containerd moby-engine runc

Containerization support

Containerization support in MEEP is based in Docker. We provide pre-installed support on Fedora 33 for Docker. First step is to follow this instructions. After that, we can check if the services are up and running.

The kernel must support module br_netfilter, the fedora-riscv 5.10.6-200.0.riscv64.fc33.riscv64 version is already tested and it supports all modules.

$ systemctl status containerd.service

○ containerd.service - containerd container runtime
Loaded: loaded (/usr/lib/systemd/system/containerd.service; disabled; vendor preset: disabled)
Active: inactive (dead)
Docs: https://containerd.io

if the service is no running like in the example, start it.

$ systemctl start containerd.service

$ systemctl status containerd.service

$ systemctl enable containerd.service

● containerd.service - containerd container runtime Loaded:
loaded: loaded (/usr/lib/systemd/system/containerd.service; disabled; vendor preset: disabled)
Active: active (running) since Thu 2021-10-28 10:04:50 CEST; 3s ago
Docs: https://containerd.io
Process: 47191 ExecStartPre=/sbin/modprobe overlay (code=exited, status=0/SUCCESS)
Main PID: 47193 (containerd)
Tasks: 14 (limit: 18994)
Memory: 59.7M
CPU: CPU: 164ms
CGroup: /system.slice/containerd.service<
└─47193 /usr/bin/containerd

.....

$ systemctl start docker.service

$ systemctl status docker.service

$ systemctl enable docker.service

The reboot of the machine after enabling docker and containerd service been enabled is a strong recomendation.

You can find some images on the docker hub or in ACME registry .

Podman suport on Unmatched

Podman is on the Ubuntu and Fedora repositories. To install it you only need to use the distribution package manager standard tool:

  • apt install podman
  • dnf install podman

Podman cannot store the images on the nfs partition you need to change the default path on your home configuration.

cat ~/.config/containers/storage.conf

[storage]

driver = "overlay"

graphroot = "/var/tmp/centos/containers"