New-raspbian-with-real-time-kernel-jan-15/93

Latency-plot

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:

Emlid-Raspbian-RT-JAN-2015.img.xz on MEGA
Emlid-Raspbian-RT-JAN-2015.imz.xz torrent