The Linux OS is not running the flight controller, it has a flight controller (Arduino-based) plugged into it. Seriously, who approves this nonsense?
The flight controller is running under linux. It is just a standard linux process.
From what I've seen (crawing throught he source tree), the fire cape basically provides lots of sensors running on SPI (and maybe I2C), bus protection/voltage conversion for lots of UARTS, PWM,etc as well as maybe voltage regulators. The only part of this that is sort handled out of under linux is the use of the BBB's PRUs to handle some of the extra PWM requirements in software since the BBB doesn't really have enough in hardware for most projects and linux can't do the hard real time reliably enough to keep servos free of jitter using GPIOs.
The project is using the APM hardware abstraction layer which makes porting to different architectures "relatively" easy. APM was originally written for the Arduino but has moved on since then.