Kernel 5.10 Release

Es gibt Neuigkeiten zum Revolution Pi? Hier erfährst du es als erstes.
Post Reply
User avatar
p.rosenberger
Posts: 91
Joined: 03 Jul 2020, 11:07

Kernel 5.10 Release

Post by p.rosenberger »

Liebe RevPi Community,

ich freue mich ankündigen zu dürfen, dass wir nach intensiver Arbeit die erste Version unseres Kernel 5.10 veröffentlich haben. Diese Version findet sich bald auch in unseren offiziellen Update Kanälen (Buster Paketrepository)

https://github.com/RevolutionPi/kernelb ... 3%2Brevpi1

Release Notes Kernel 5.10
Der Linux-Kernel wurde von Version 4.19 auf 5.10 aktualisiert. Als Basis dient die Stable-Version 5.10.103 (https://git.kernel.org/pub/scm/linux/ke ... =v5.10.103) und der Echtzeit-Patch in der Version 5.10.100-rt62 (https://git.kernel.org/pub/scm/linux/ke ... 0.100-rt62).

Unterstützung für RevPi S und RevPi SE
Der neue Kernel unterstützt das Raspberry Pi Compute Module 4S. Dieses Modul enthält den Chip BCM2711 des Raspberry Pi 4 und ist in den neuen Geräten der RevPi S und RevPi SE Serie verbaut. Es verfügt über eine stärkere CPU, einen schnelleren eMMC-Speicher und kann HDMI-Bildschirme in 4K-Auflösung ansteuern.

USB-Treiber
Für den USB Host Controller verwendeten wir bisher den Treiber “dwc_otg”. Dieser wird nicht mehr gepflegt und zeigte unter Kernel 5.10 Instabilitäten, wenn Anwendungen mit Realtime-Priorität auf dem System liefen. Daher sind wir auf den neueren Treiber “dwc2” umgestiegen. Allerdings enthielt “dwc_otg” Performance-Optimierungen speziell für den Raspberry Pi, die im “dwc2” fehlen. Daher nimmt “dwc2” mehr CPU-Zeit in Anspruch. Sichtbar ist dies mit dem Kommando “top”: Die beiden Interrupt Threads “irq/XX-dwc2_hso” und “irq/XX-3f9810000” benötigen je mindestens 12% einer CPU. Wir wollen die Optimierungen von “dwc_otg” auf “dwc2” portieren, um diesen Nachteil zukünftig zu beseitigen.
Während die zusätzliche CPU-Last auf einem Compute Module 3 und 4S nur wenig ins Gewicht fällt, führt sie auf einem Compute Module 1 zu einem spürbaren Performance-Einbruch. Wir empfehlen daher, auf dem CM1 die bisherige Kernel-Version 4.19 im Paket-Management zu pinnen, bevor ein System-Update begonnen wird:

Code: Select all

sudo apt-mark hold raspberrypi-kernel
Alternativ kann nach dem Flashen des Image auf ein CM1 ein Downgrade auf Kernel 4.19 durchgeführt werden:

Code: Select all

sudo apt-get update
sudo apt-get install raspberrypi-kernel=1:9.20220322-4.19.95+revpi1
Systemsicherheit
Das standardmäßig unter Raspberry Pi OS verfügbare Gerät “/dev/gpiomem” wurde entfernt. Dadurch ist es nun nicht mehr möglich, direkt auf die Speicherstellen von Geräten zu schreiben oder diese auszulesen. Die wiringPi Bibliothek funktioniert infolgedessen nicht mehr.
Der Grund für die Deaktivierung des Gerätes ist das Vermeiden von versehentlichen Änderungen an den Geräten und eine damit einhergehende Erhöhung der Sicherheit des gesamten Systems.

Verbessertes Echtzeitverhalten
Es wurden Verbesserungen beim Zugriff auf die Gerätedaten über das piTest-Programm vorgenommen. Die Verbesserungen sollen dabei helfen, die Latenzen beim Auslesen und Schreiben der Geräte und die Wahrscheinlichkeitvon Jitter zu verringern.

USB Ethernet
Die Link-Erkennung von USB-Ethernet-Schnittstellen erfolgt jetzt Interruptgesteuert. Zuvor wurde der Link-Status einmal pro Sekunde gepollt. Dadurch wird der Verkehr auf dem USB-Bus und damit die CPU-Last verringert Ferner können nun mehr als drei weitere USB-Ethernet-Adapter ohne Probleme angeschlossen werden.

RS-485
Die Unterstützung für den PL011 UART wurde komplett überarbeitet. Dieser wird zur Kommunikation über die externe RS-485 Schnittstelle auf dem RevPi Flat und Compact verwendet, sowie zur PiBridge-Kommunikation auf dem RevPi Core und Connect. Die überarbeitete Version wurde auch im Mainline-Kernel eingepflegt, so dass nun statt einer proprietären Realisierung die im offiziellen Linux-Kernel enthaltene Implementierung verwendet wird.
Bei dieser Gelegenheit wurde der Fehler behoben, dass Speicher-Ressourcen beim Entladen des PL011-Treibers doppelt freigegeben wurden.

TPM
Auf dem RevPi Flat wird nun sichergestellt, dass das Trusted Platform Module (TPM) beim Hochfahren des Systems korrekt initialisiert ist. Außerdem wurde ein potentielles Problem beim Neustart behoben, das dazu führen konnte, dass das System hängen blieb. Weiterhin wurde ein Bug beseitigt, der unter bestimmten Umständen beim Entladen des TPM Kernel-Moduls zu einem Absturz führte.
Post Reply