Dies ist eine alte Version des Dokuments!
Raspberry PI4
RT Kernel
git clone https://github.com/raspberrypi/linux.git sudo apt install crossbuild-essential-armhf
- Hier schauen was der sinnvoll neueste RT Patch ist. Aktuell war es 5.10.90. Diesen herunterladen
git log
und dort nach „5.10.90“ suchen. Beispiel:
commit d3e491a20d152e5fba6c02a38916d63f982d98a5 Author: Greg Kroah-Hartman <gregkh@linuxfoundation.org> Date: Wed Jan 5 12:40:34 2022 +0100 Linux 5.10.90 Link: https://lore.kernel.org/r/20220103142053.466768714@linuxfoundation.org Tested-by: Salvatore Bonaccorso <carnil@debian.org> Tested-by: Guenter Roeck <linux@roeck-us.net> Tested-by: Linux Kernel Functional Testing <lkft@linaro.org> Tested-by: Jon Hunter <jonathanh@nvidia.com> Link: https://lore.kernel.org/r/20220104073841.681360658@linuxfoundation.org Tested-by: Jon Hunter <jonathanh@nvidia.com> Tested-by: Florian Fainelli <f.fainelli@gmail.com> Tested-by: Guenter Roeck <linux@roeck-us.net> Tested-by: Shuah Khan <skhan@linuxfoundation.org> Tested-by: Linux Kernel Functional Testing <lkft@linaro.org> Tested-by: Sudip Mukherjee <sudip.mukherjee@codethink.co.uk> Tested-by: Salvatore Bonaccorso <carnil@debian.org> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Datum merken.
- Naechsten commit suchen, der arch/arm/config/bcm2711_defconfig enthaelt suchen und den auschecken.
- RT Patch anwenden:
wget "https://mirrors.edge.kernel.org/pub/linux/kernel/projects/rt/5.10/patch-5.10.90-rt60.patch.xz" xzcat patch-5.10.90-rt60.patch.xz | patch -p1
- Konfigurieren:
cd linux KERNEL=kernel7l make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- bcm2711_defconfig
- In menuconfig „fully preemptible“ einschalten:
make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- menuconfig
- Bauen:
make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- zImage modules dtbs -j24
- Installieren:
mkdir mnt mkdir mnt/fat32 mkdir mnt/ext4 sudo mount /dev/sdb1 mnt/fat32 sudo mount /dev/sdb2 mnt/ext4 sudo env PATH=$PATH make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- INSTALL_MOD_PATH=mnt/ext4 modules_install sudo cp mnt/fat32/$KERNEL.img mnt/fat32/$KERNEL-backup.img sudo cp arch/arm/boot/zImage mnt/fat32/$KERNEL.img sudo cp arch/arm/boot/dts/*.dtb mnt/fat32/ sudo cp arch/arm/boot/dts/overlays/*.dtb* mnt/fat32/overlays/ sudo cp arch/arm/boot/dts/overlays/README mnt/fat32/overlays/ sudo umount mnt/fat32 sudo umount mnt/ext4
IRQ Prioritaeten
- in /boot/cmdline.txt „threadirqsi“ hinzufuegen.
apt-get install rtirq-init
- In /etc/default/rtirq
RTIRQ_NAME_LIST="74 73"
editieren und
RTIRQ_RESET_ALL=1
einschalten.
Cores isolieren
- in /boot/cmdline.txt „isolcpus=2,3“ hinzufuegen.
- Tasks bspw. mit
taskset --cpu-list 2-3 [TASK}
starten