wiki/ avionics/ FlightComputerAv3

AV3 Flight Computer

We switched from x86 to PowerPC because we won one of IBM's 'Linux on POWER' grants. This is great, because now we've got actual processing power, a nice ISA, the same power consumption, and even more peripherals.


(This is a slightly more detailed version of what Josh posted to the psas-team mailing list.)

The flight computer has uboot, a kernel image, a device tree blob, and an initramfs in flash. When the flight computer boots, uboot loads everything into ram and boots from ram. This means all changes to the file system will be wiped on the next power cycle. There are two interesting consequences because of that:

Building a Linux kernel

First, you need to download a Linux kernel designed for the TQM5200 PowerPC chip and peripherals. Denx, the maker of the TQM5200 breakout board, has a git repository for Linux kernels for their hardware. You need to have the git-core package installed on your computer for this command to work:

git clone git://

Next, you need to be able to cross compile the Linux kernel for the PowerPC board. The emdebian project has a linux-powerpc cross compilation suite. You'll need to add their .deb repository to your /etc/apt/sources.list file in order to download the cross compilation packages. Emdebian has good instructions on how to do this if you're confused.

If you're running Debian, choose the package type that corresponds to what Debian release you're running (i.e. stable, testing, unstable). If you're running Ubuntu, you'll have to guess. If you don't see a recent version of gcc (say 4.3), then use the unstable Debian package repository.

sudo aptitude install gcc-4.4-powerpc-linux-gnu libc6-dev-powerpc-cross linux-libc-dev-powerpc-cross

(Or whatever version of gcc is the latest.)

Other packages you'll need