March 14, 2001

FlightLinux: Tux in space

Author: JT Smith

In Maryland, a group of developers is working on FlightLinux, a two-year project that runs through July, 2002, and is funded by NASA's Office of Earth Science, Advanced Information Systems Technology. Their goal is to make FlightLinux the perfect onboard (as in spacecraft) OS.
Pat Stakem is a real rocket scientist -- the senior staff engineer for the QSS Group, a high-tech contractor that counts NASA and other government agencies as its biggest clients. "I'm the originator of the [FlightLinux] project," he says, "via a successful proposal to NASA [by Stakem and QSS], in response to a request for advances in onboard data processing." That was back in May of 2000. Today, Stakem says, all the tools are in place to get the job done.

The life of a rocket scientist -- not too hard to understand

Stakem lives and works in the vicinity of Washington, D.C., and spends part of his time teaching in the graduate engineering science department of Loyola College in Maryland. When asked for little known facts about his life, he quips, "Ah, boxers?" He says he's already "been abused" by most versions of Linux.

"We have found the most security problems with Red Hat, probably because it is the most popular." His greatest success with Linux on the desktop has come with Mandrake. "It seems to be a good combination of features and compatibility. I have also had some luck with Corel. Maybe it's just me -- I tend to break software a lot."

But Stakem's real involvement with Linux goes much deeper than just desktop use. The journey to FlightLinux began as far back as 1966, when, he says, he hacked his first computer using modified punch cards. He was part of the nascent Internet culture in the days of ARPAnet in 1969, and joined NASA in 1971, sporting a master's degree in computer science and physics from Johns Hopkins University. He experienced an epiphany that year, he says, "when I discovered that spacecraft had onboard computers."

Stakem has put in time at most of the major NASA facilities: Jet Propulsion Laboratory,
Johnson Space Center, Kennedy Space Center, and now at Goddard Space Flight Center.

Linux is a natural for embedded, onboard operating systems

At Goddard, Stakem is involved -- through the QSS Group -- in unmanned Earth-observing missions. He believes the FlightLinux distribution will fill the bill for onboard OS requirements because "it gives us a commonality between the ground-based applications and the spacecraft onboard ones, such that we can reasonably migrate programs onboard."

Not only that, but Linux may be able to brave the dangers of space better than other operating systems. "The environment is not benign -- the radiation can fry a lot of electronics, the energetic particles can punch holes in material, it is either too cold or too hot, and power is in short supply. We have a theory, not substantiated yet, that Linux runs cooler than other operating systems, because it tends to halt for short periods when it has nothing else to do."

The places where Linux falls short, he says, is in general experience level for the particular application they are working to develop, the size of the memory footprint, and (big surprise here) a "lack of some key device drivers." But Linux enables so many other things that these lacks are worth overcoming. For instance, Stakem says, "We can put a Web server in orbit, given Linux -- no problem."

So what exactly does the FlightLinux development group expect to accomplish with its project? The onboard OS is a classic embedded system, says Stakem, and can be operated remotely. "There is usually one machine to keep the spacecraft pointing in the right direction, keep an eye on thermal conditions, keep the batteries safely charged, and do overall housekeeping chores," he says. "It also manages the commands that come up from the ground to do certain operations at certain times, and formats the data that goes down to the ground. [And] for those periods when the spacecraft is not in communication with the ground, the onboard computer manages the onboard storage system."

Getting cozy with a satellite -- time flies when it's fun

Stakem provides a "day-in-the-life" scenario for a typical Earth-observing spacecraft:

"We'll see the sun rise and set 16 times (because of the orbit of the spacecraft). When the sun is out, we need to charge the batteries, and control the temperature by radiating heat to cold space. We need to keep certain sensors and instruments from looking at the sun.

"At night, we monitor draw from the batteries, and try to keep warm. When we are not in communication with the Earth, we store the instrument data for later transmission.

"We need to keep tabs on the amount of storage used and available. When are are in communication with the ground, we dump housekeeping and status information and observation data. We accept commands from the ground, some being time-tagged for later execution (chron jobs?).

"Oops -- the dreaded South Atlantic Anomaly (a phenomenon that occurs at a specific location over the South Atlantic ocean, off the coast of Brazil, where there is a 'pothole' in the magnetosphere which exposes orbiting spacecraft to higher particle flux). Here, a collection of charged particles endangers spacecraft components. Some instruments must be turned off, and most electronics must be monitored for strange behavior.

"OK, day-night 90 minute cycle is over, time to repeat."

The nuts and bolts of making a new distribution

Stakem says that FlightLinux is a month or two from being ready, though "we do have a 0.1 distribution, that does a 'Hello, World'." They're going to go with an incremental approach to implementation and testing. The project's main partner, Surrey Space Technology Ltd. [SSTL], based in the United Kingdom, is supplying the spacecraft for tests of the onboard OS.

Right now there is only one full-time Linux person working on the project, says Stakem. "However, I can draw on the company's resources for C and Java programmers, Web stuff, etc. We have experts in all the relevant areas here. NASA is also helping us with reviews and inputs from their Flight Software Group." The FlightLinux group also has access to a breadboard computer and a ground station for testing.

FlightLinux is based on Blue Cat, an embedded version of Red Hat that claims to offer 'true real-time embedded solutions.' Blue Cat Linux is a product of LynuxWorks.

Because FlightLinux is Open Source, NewsForge wondered where programmers who want to contribute to the project could go. Stakem admits he hadn't thought about that aspect of the open nature of Linux, but says he'll take all the help that code poets want to offer. "We need to think this through," he says, "and put up some guidelines on our Web site. We will be the keepers of the official distribution -- the configuration controller version." Initially, Stakem needs coders proficient in Posix-compliant C and device level code. (He can be reached at

If you want to contribute, you'd better hurry. Stakem sounds pretty confident about the near future of FlightLinux: "We are cranked up and ready to go," he says. "We have strategic alliances in place, we have the Web site ... we have a list of things to do. We think we know the steps, and the right order."

NewsForge editors read and respond to comments posted on our discussion page.


  • Linux
Click Here!