Installation of a kernel with real-time expansion on Raspberry Pi 4 and latency test (Installation eines Kernel mit Echtzeit-Erweiterung auf Raspberry Pi 4 und Latenztest)

Felix Stange 88b1116957 'README.md' ändern 3 jaren geleden
Versuch1_ohne_RT acc22cbc82 'Versuch1_ohne_RT/README.md' ändern 3 jaren geleden
Versuch2_mit_RT 7a5774b864 'Versuch2_mit_RT/README.md' hinzufügen 3 jaren geleden
rt-kernel 6f4a67e58d 'rt-kernel/installscript' ändern 3 jaren geleden
rt-tests 9868c9d424 'rt-tests/Links.txt' ändern 3 jaren geleden
2021-05-07-raspios-buster-armhf-lite.zip 0de47d899d Raspberry Pi OS 5.10.17 3 jaren geleden
README.md 88b1116957 'README.md' ändern 3 jaren geleden

README.md

English explanation

Preparation

The basis of the real-time expansion is the current build of the Raspberry Pi OS with standard kernel. At the time this repository was created it was 5.10.17. This build is also included in the repository. An image can easily be transferred to an SD card using the official imager. It does not matter whether the lite or full version is used, but the tests stored here were carried out with the 32-bit lite version.

First of all, it should be checked that the installed packages are up-to-date. You will also likely need to install the git and gnuplot packages.

sudo apt update && sudo apt upgrade
sudo apt install git gnuplot

Latency test with the standard kernel

The OSADL has prepared a very comfortable test script for the latency times, which we use here. This measures the times between the occurrence of an event and the start of its processing. To do this, download the rt-tests repository and compile it.

git clone git://git.kernel.org/pub/scm/linux/kernel/git/clrkwllms/rt-tests.git
cd rt-tests
make 

At the following link, a script can then be copied that carries out the test and also processes the results as text and graphics.

https://www.osadl.org/Create-a-latency-plot-from-cyclictest-hi.bash-script-for-latency-plot.0.html

Installation

Now the package with the real-time extension has to be copied and installed on the Raspi. To do this, download the image with the real-time extension from the following link:

https://github.com/kdoren/linux/releases/tag/rpi_5.10.74-rt54

Now carry out the following instructions:

https://github.com/kdoren/linux/wiki/Installation-of-kernel-from-deb-package-%28Raspberry-Pi-OS%29

Make sure you have the correct version number. After a restart you should check whether the installation was successful.

Latency test with the real-time kernel

Run the test again and compare the results. Be careful not to overwrite the files the second time you run the test.

Hints

All scripts and images mentioned are contained in this repository and can alternatively also be downloaded here. You can also compare your test results with the results in this repository.

Further sources

https://www.embedded-software-engineering.de/echtzeit-mit-dem-raspberry-pi-und-linux-preemptrt-a-630498/

Deutsche Erklärung

Vorbereitungen

Die Grundlage der Echtzeit-Erweiterung bildet der aktuelle Build des Raspberry Pi OS mit Standardkernel. Zur Zeit der Erstellung dieses Repositories war das 5.10.17. Dieser Build liegt auch dem Repository bei. Ein Image kann bequem mit dem offiziellen Imager auf eine SD-Karte übertragen werden. Es spielt keine Rolle ob die Lite- oder Full-Version genutzt wird, jedoch wurden die hier hinterlegten Tests mit der 32bit-Lite-Version durchgeführt.

Zunächst sollte geprüft werden, dass die installierten Pakete aktuell sind. Außerdem müssen wahrscheinlich die Pakete git und gnuplot installiert werden.

sudo apt update && sudo apt upgrade
sudo apt install git gnuplot

Latenztest mit dem Standard-Kernel

Die OSADL hat ein sehr komfortables Testskript für die Latenzzeiten vorbereitet, den wir hier nutzen. Dieser misst die Zeiten zwischen dem Auftreten eines Events und dem Beginn von dessen Bearbeitung. Dazu das Repository rt-tests herunterladen und kompilieren.

git clone git://git.kernel.org/pub/scm/linux/kernel/git/clrkwllms/rt-tests.git
cd rt-tests
make 

Unter folgendem Link kann anschließend ein Skript kopiert werden, dass den Test durchführt und außerdem die Ergebnisse aufarbeitet als Text sowie als Grafik.

https://www.osadl.org/Create-a-latency-plot-from-cyclictest-hi.bash-script-for-latency-plot.0.html

Installation

Nun muss das Paket mit der Echtzeit-Erweiterung auf den Raspi kopiert und installiert werden. Laden Sie dazu das Image mit der Echtzeit-Erweiterung unter folgendem Link herunter:

https://github.com/kdoren/linux/releases/tag/rpi_5.10.74-rt54

Führen Sie nun die folgende Anleitung durch:

https://github.com/kdoren/linux/wiki/Installation-of-kernel-from-deb-package-%28Raspberry-Pi-OS%29

Achten Sie auf die korrekte Versionsnummer. Nach einem Neustart sollten Sie überprüfen, ob die Installation erfolgreich war.

Latenztest mit dem Echtzeit-Kernel

Führen Sie den Test erneut durch und vergleichen Sie die Ergebnisse. Achten Sie darauf die Dateien nicht zu überschreiben, wenn Sie den Test zum zweiten Mal durchführen.

Hinweise

Alle genannten Skripte und Images sind in diesem Repository enthalten und können alternativ auch hier heruntergeladen werden. Zudem können Sie Ihre Testergebnisse mit den Ergebnissen in diesem Repository vergleichen.

weitere Quellen

https://www.embedded-software-engineering.de/echtzeit-mit-dem-raspberry-pi-und-linux-preemptrt-a-630498/