Kernel Requirements
A simple OAI system doesn't require any special kernels and generally we use exclusively Ubuntu distributions with OAI (mainly because this is what we install at EURECOM). We currently support 14.04 LTS with a recent low-latency kernel (e.g. 3.17-low-latency), but some parts of OAI can be made to work with newer distributions. With ExpressMIMO2, you should consider installing Ubuntu 14.04 low-latency with a kernel version above 3.14.10 which provides preemptive scheduling. Below are precise instructions for the primary installations that we use at EURECOM.
Ubuntu 14.04 LTS (Recommended)
Install a standard 32 or 64-bit 14.04 system. Remove all power management features in the BIOS (sleep states, in particular C-states) and CPU frequency scaling (Intel SpeedStep). In some cases, you can also do this with cpufreqtool.
Upgrade the kernel packages for low-latency with kernel version greater than 3.14.10. Below you can find the instructions for kernel 3.17 under 64-bit architecture. Replace amd64 by i386 for 32-bit architecture.
version=3.17
wget -r -e robots=off --accept-regex "(.*lowlatency.*amd64)|(all).deb" http://kernel.ubuntu.com/~kernel-ppa/mainline/v${version}-utopic/
dpkg -i kernel.ubuntu.com/*/*/*/*deb
ln -s /usr/src/linux-headers-${version}*lowlatency/include/generated/autoconf.h /lib/modules/${version}*lowlatency/build/include/linux
After a reboot, uname -a
should give the following output:
Linux [NAME] 3.17-lowlatency #201408132253 SMP PREEMPT Thu Aug 14 03:01:44 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux