Preempt RT Kernel¶
Connect a monitor and a keyboard and boot up the RPi4. It may or may not show the log in prompt. Whenever it stops print text to the monitor you should be able to login with the username pi and the password raspberry.
Next we’ll setup a few things in Raspbian, the space bar selects or deselects items in a list with [ ]. The tab key moves around in the menu. If you’re in another country make adjustments as needed.
Advanced Options > Expand Filesystem
- Localisation Options > Change Locale
Select en.US.UTF-8 UTF8
Make sure you deselect en.GB.UTF-8 UTF8 or you will have a British accent
Default locale for the system environment: en.US.UTF-8 UTF8
- Localisation Options > Change Timezone
- US > your timezone
- Localisation Options > Change Wi-fi Country
- Network Options > WiFi
- Enter your SSID and Password if you have WiFi.
Interfacing Options > SSH Enable
Select Finish and Reboot
You have the option at this point to SSH into the RPi4 from another PC.
To find out the IP address log in and issue this command
If you have WiFi enabled and setup use that inet address to SSH into the Rpi4.
From another Linux PC on your LAN you can open a terminal and issue
ssh firstname.lastname@example.org (use the inet address you found from above)
Now we’ll download and build the preempt rt kernel
sudo apt update apt list --upgradable sudo apt dist-upgrade sudo apt autoremove sudo apt install git git clone --depth=1 https://github.com/raspberrypi/linux -b rpi-4.19.y-rt sudo apt install bison flex libncurses5-dev libssl-dev bc mc cd linux KERNEL=kernel7l make bcm2711_defconfig make menuconfig # save and exit make -j4 zImage make -j4 modules make -j4 dtbs sudo make modules_install # should report back DEPMOD 4.19.59-rt23-v7l+
Install the RT PREEMPT Kernel
sudo cp arch/arm/boot/dts/*.dtb /boot/ sudo cp arch/arm/boot/dts/overlays/*.dtb* /boot/overlays/ sudo cp arch/arm/boot/dts/overlays/README /boot/overlays/ sudo cp arch/arm/boot/zImage /boot/$KERNEL.img
Fix some boot options for best latency
sudo nano /boot/cmdline.txt
Add the following to the current line to make one long line
quiet splash lapic noxsave acpi_osi= isolcpus=1,2,3 idle=poll acpi_irq_nobalance noirqbalance vmalloc=32MB clocksource=acpi_pm net.ifnames=0
Ctrl x to exit, save y, enter to write to the file
To get rid of old deb files in apt cache and reboot
sudo apt clean sudo reboot -n
Log back into the RPi4 after it boots up and check that you have the preempt rt kernel installed.
uname -a ... 4.19.71-rt24-v7l+ #1 SMP PREEMPT RT ...
Updated Sep 07, 2020