New Raspbian with real-time kernel [JAN-15]
This is a release of the new SD card image of default Raspberry Pi distribution Raspbian with real-time kernel. It is based on 2014-12-24-wheezy-raspbian with default kernel replaced to new 3.12.36-rt50+ kernel and a few additional tunings.
Default Raspbian kernel is configured with PREEMPT option and provides worst case latency around single digit milliseconds. Real-time demanding applications require lower latencies than that. Real-time patch and PREEMPT_RT option lowers the worst case latency to tens of microseconds, allowing for real-time applications such as autopilots to be run on Linux.
Results of testing with “sudo cyclictest -l1000000 -m -n -a0 -t1 -p99 -i400 -h400 -q”:
PREEMPT #Min: 00013uS #Avg: 00023uS #Max: 01153uS
PREEMPT_RT #Min: 00011uS #Avg: 00023uS #Max: 00066uS
Histogram values are on the plot above.
List of changes includes:
- Replaced default kernel with PREEMPT_RT kernel 3.12.36-rt50+
- Processor frequency set to 800MHz (can be changed in /boot/config.txt)
- Enabled SPI
- Enabled I2C and set speed to 1MHz (if you’d like to connect a sensor with lower clock speed, edit the baudrate option in /etc/modprobe.d/i2c.conf)
- Enabled camera
- Installed pigpio, screen, socat, python-smbus, python-spi, cmake, cyclictest
- Disabled serial console, so /dev/ttyAMA0 UART can be used for radio (to enable back use raspi-config or edit /boot/cmdline.txt)
- Disabled extra ttys
- Removed wolfram and sonic-pi for extra space (to reinstall simply use apt-get)
- Added sdhci_bcm2708.enable_llm=0 to boot/cmdline.txt
- Default WiFi network: ssid “emlidltd”, psk “emlidltd”, key_mgmt=WPA-PSK
Known issues:
- Due to the required options some USB keyboards may not work
Patched and configured source code for Raspberry Pi real-time kernel:
SD card image downloads:
Hi, I’ve been trying to download your kernel and image from Mega, but keep running into errors. Also, didn’t find any peers for the torrent
Hi! Were you able to download the image?
Thanks, I did get it in the end. Peers for the torrent are very hard to come by, but Mega worked from a different network.
I did see a fatal crash when i ran “alsa force-reload”
Is it repeatable? I know that a lot of people use preempt_rt for low latency audio, but our usage is different, so we don’t pay much of attention to sound subsystems.
Hey guys, will this work on the new RaspberryPi 2B?
Hello! No, it should not work. We’ll provide an image for RPi2 in the future.