Together with mlinuxguy, adbensi and kinsa we've managed to build a working real time (fully preemptive) kernel.
It is overall stable (I couldn't crash it with stress for a few hours now), but it has few minor issues:
1) Low built-in Ethernet performance - USB-WiFi and USB-Ethernet work fine.
2) Poor RT performance on some SD cards - works great with eMMC module and some SD cards too.
The source code is available on Github - https://github.com/Clouded/linux-rt-odr ... 10.70-rt74
Basically, it's a fork of Hardkernel's Linux for Odroid-C1 with:
- rt-patch applied
- few minor fixes (manually applied patch rejects, made a few spinlocks static, fixed a timer typo)
- fixes by kinsa (sdhc and aufs)
- some configuration (enabled PREEMPT_RT, periodic timer ticks, performance governor default)
DOWNLOADS:
[UPDATE 23 MAR 2015]
Debs of kernel with modules and headers:
linux-image-3.10.72-rt77_20150319_armhf.deb
linux-headers-3.10.72-rt77_20150319_armhf.deb
Built with make-kpkg, installs smoothly on Ubuntu (dtbs included and installed automatically) and should work on other distros too.
To install download the package and run:
Code: Select all
sudo dpkg -i linux-image-3.10.72-rt77_20150319_armhf.deb
https://github.com/Clouded/linux-rt-odr ... 10.72-rt77
Cyclictest results:
Code: Select all
odroid@odroid:~$ sudo cyclictest --smp -p99 -m -n
# /dev/cpu_dma_latency set to 0us
policy: fifo: loadavg: 0.15 0.37 0.47 1/223 1790
T: 0 ( 1778) P:99 I:1000 C:4501611 Min: 6 Act: 8 Avg: 9 Max: 42
T: 1 ( 1779) P:99 I:1500 C:3001053 Min: 6 Act: 8 Avg: 8 Max: 36
T: 2 ( 1780) P:99 I:2000 C:2250775 Min: 7 Act: 8 Avg: 8 Max: 38
T: 3 ( 1781) P:99 I:2500 C:1800608 Min: 6 Act: 8 Avg: 9 Max: 26