Instructions to get OAI to work on ARM
Note: There are issuesto get OAI to work on ARM. see list of known issues below.
Branch: feature-62-arm-port-usrp(already merged to develop)
GitLab Issue: https://gitlab.eurecom.fr/oai/openairinterface5g/issues/62
Compile RT Linux Preempt kernel:
Download the kernerl which is patched for RT Preempt patch, https://gitlab.eurecom.fr/oai/odroid-linux-3.10.y-rt
Select branch odroidxu3-3.10.y-patch_3.10.93-rt101
The kernel config file for RT PREEMPT basic is located here, https://gitlab.eurecom.fr/oai/odroid-linux-3.10.y-rt/blob/odroidxu3-3.10.y-patch_3.10.93-rt101/arch/arm/configs/odroidxu3_defconfig_rt_basic
Enable SCTP module in kernel
Follow the instructions from here to compile and reinstall Odroid Kernel, http://odroid.com/dokuwiki/doku.php?id=en:xu3_building_kernel
Note: It is recommended to compile the kernel natively on odroid board as ARM cross compiler has issue
Compile UHD/BladeRF Drivers:
You need compile UHD/BladeRF drivers from source. The OAI installation scripts do not do so at this point.
Enable ARM PMU module:
You need to enable ARM PMU module and load it into kernel before running the code, https://github.com/thoughtpolice/enable_arm_pmu
Known Issues:
- Compile Error here, https://gitlab.eurecom.fr/oai/openairinterface5g/blob/master/openair1/PHY/TOOLS/signal_energy.c#L200. I have commented this line in the branch (feature-62-arm-port-usrp) for compilation to work, but this needs to be fixed with Raymond.
2.. USRP/BladeRF Trasfers do not happen properly.
- RT PREEMPT Kernel does not compile if RT PREEMPT FULL is enabled, see http://forum.odroid.com/viewtopic.php?f=61&t=17954 for more inf. There is branch odroidxu3-3.10.y-patch_3.10.93-rt101_fix_preempt_rt_full that has fixes to enable RT PREEMPT FULL support. We need someone to test it. Please let us know the status of stabilty when you run this kernel.This branch is not tested properly and might be unstable or not work at all.
-- @rohit.gupta - 20 Dec 2015