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"