25
$\begingroup$

There are quite many industrial Linux adaptions around, like in your router's firmware or the Android OS. On long term, probably any spacecraft will need to run more or less standard profiles of software packages, like navigation, communication.. the more OSS (Open Source Software) the better I think. We all should know the value delivered by OSS community to Earth's industries. (assume also that there will be a rise of avionics open hardware, too).

So the question - is there any ongoing approach for a "Linux for Spacecraft" distro?

$\endgroup$
1
  • $\begingroup$ What I usually see is a commonly developed middleware that can run on multiple platforms, but I have upvoted your question because I am curious if anyone has gone through the effort of making some kind of common distro. $\endgroup$
    – called2voyage
    Commented Jun 7, 2017 at 20:25

3 Answers 3

31
$\begingroup$

Updates: Added Astro Digital and Planet Labs at bottom.

There isn't a specific Linux distribution for spacecraft. At least not yet. I have heard of groups that basically took Buildroot to build only as much Linux system as they needed for a satellite. Beyond that, they needed to provided the customized middleware or applications.

It is tempting to put Linux on a low-cost small satellites (i.e., CubeSats), one needs to remember that these satellites have extremely tight power budgets, dictated by how much power they can muster from photovoltaic panels. That is, this is an environment in which code efficiency and low power consumption far outweigh programmer productivity.

As for groups working on Linux in spacecraft, here are a couple that can be publicly discussed -- Tyvak (actively) and Boeing (because NASA and AF require it). (And now I've added Astro Digital below.)

Tyvak Nano-Satellite Systems maintains its own Linux distribution for flight software. See: Tyvak capabilities

They have built radiation-tolerant boards for CubeSat avionics. In fact, they use to have a specific ARM-based space avionics board on their website, running Linux. But I don't see it by name anymore. (I recall the name "Intrepid"; someone might find this in some published research papers.)

Boeing recently got the contract to develop a High Performance Spaceflight Computing (HPSC) Processor Chiplet for NASA and the Air Force. The chiplet is to be a quad-core ARM Cortex-A53 using rad-hard by design (RHBD) standard cell libraries. The software requirement for the chip is to run a combination of Linux and real-time OS. The Air Force wants this for their advanced satellite designs. NASA knows it needs advanced processors with greater autonomy capability in deep space robotic as well as human spaceflight missions. See: Boeing to develop next-generation radiation-hardened space processor based on the ARM architecture

There are a couple of other commercial CubeSat companies that I believe use Linux in their satellites, but I can't readily find this on their web pages. For what its worth, the two I'm thinking of both do Earth observation, and have large server farms on the ground.

Update: one of the other companies I had in mind is Astro Digital; their former name is Aquila Space. Their Corvus-BC has (or did have) Linux running on ARM Cortex-A8. Aquila Space slides from 2015 About a year ago, I attended a talk by Astro Digital, where one of them said even the aerospace engineers (non-computer scientists) could program the spacecraft because they were using Python. I raised my hand to check. "Wait. Python on the spacecraft?" Yes. I grinned as any serious Pythonista should at this point. :-) Note that as CubeSats go, the Astro Digital spacecraft are pretty large. They have 6U and 16U designs, with solar panel arrays geared to feed them.

Update: I also had in mind Planet Labs, now simply known as "Planet". Turns out there is a Space Stack Exchange question that addresses this. They have their own internal distro that they tweak for their fleet of satellites.

Update (Mar 2023): I stated that Boeing got the contract for an HPSC chiplet based on ARM Cortex-A53, as announced by NASA Goddard. That chiplet did not materialize. I don't know why. However, a new award was announced in August 2022, with the contract going to Microchip Technology; the selection was made by JPL. (See NASA press release, Aug 2022.) Since then, it has become clear that the Microchip design will be based on RISC-V, using the SiFive X280 multi-core design. (For example, EE Journal article, Jan 2023). The SiFive X280 includes vector extensions and is designed with AI/ML in mind. (See SiFive Intelligence X280.) None of these references mention any operating system -- Linux, VxWorks, or anything else. But if you're running multiple cores with vector processing and vehicle autonomy, Linux would be a nice starting point.

$\endgroup$
8
  • $\begingroup$ @uhoh 'Power required to perform the functions necessary', more likely. Memory allocation, for example, would naturally require more memory onboard - and it takes power to run memory. For a stick of DDR3, I'm coming up with numbers in the 5W range - quite a bit if you're on a tight power budget. Of course, satellites probably aren't using DDR3, but the point stands - the lighter your software, the lighter your hardware needs to be, which translates to less power required. $\endgroup$
    – user12
    Commented Jun 8, 2017 at 3:57
  • 3
    $\begingroup$ @uhoh: The last two plus number of tasks you can run per given time (it is related but not necessarily proportional). The problem is that industrial electronics will fry in space so you end up needing to program for a 100MHz CPU with 4MB of RAM or something. At which point all the things we take for granted as programmers become critically scarce. $\endgroup$
    – slebetman
    Commented Jun 8, 2017 at 5:02
  • 1
    $\begingroup$ SpaceX uses Linux on all their flight hardware (not sure if in the spirit of the question, but anyhow) space.stackexchange.com/questions/9243/… $\endgroup$
    – 0xDBFB7
    Commented Jun 8, 2017 at 12:58
  • 2
    $\begingroup$ @uhoh: I used "code efficiency" loosely, but millijoules to accomplish a task, e.g., execute a function, is roughly correct rather than source code lines. For tight dedicated real-time tasks where no paging has to happen, it makes sense to get rid of MMUs. But if you have a diverse workload changing with time and mission phase, then the flexibility of an MMU is very useful, which is why NASA postulates Linux in a deep space mission with a high degree of autonomy. $\endgroup$
    – Rick 0xfff
    Commented Jun 9, 2017 at 4:52
  • 1
    $\begingroup$ As an extra note, a recent paper titled "Current Use of Linux in Spacecraft Flight Software" was published. Check it out here: ieeexplore.ieee.org/abstract/document/8170152 I believe the paper is also on ResearchGate if you do not have access to IEEE $\endgroup$
    – esduran
    Commented Apr 18, 2019 at 21:11
22
$\begingroup$

Kubos corporation (disclosure: I work at Kubos) have a cubesat-specific Linux distro and a real-time operating system (RTOS), for cubesats with tighter power and processing budgets, since, as noted by Rick 0xfff, above, smaller cubesats don't get much of a power budget.

Kubos have, as suggested in his answer, taken Buildroot and created a lightweight Linux for the Innovative Solutions in Space OBC and the Pumpkin (BeagleBone Black-based) OBC.

The RTOS runs on several inexpensive dev boards (MSP430F5529, STM32F407 Discovery, MicroPython), and the ClydeSpace and NanoAvionics OBCs.

EDIT: our GitHub repository for the software contains our open source code for the operating systems.

$\endgroup$
1
4
$\begingroup$

I defined FlightLinux maybe 10 years ago. NASA/GSFC has a series of linux-based flight application software call Core Flight Software. There is also an operating system called Core Flight System. Pat Stakem, retired NASA flight software guy, on Linkedin.

$\endgroup$
2
  • $\begingroup$ Your answer could be improved with additional supporting information. Please edit to add further details, such as citations or documentation, so that others can confirm that your answer is correct. You can find more information on how to write good answers in the help center. $\endgroup$
    – Community Bot
    Commented Sep 10, 2022 at 20:57
  • $\begingroup$ An article on FlightLinux from 2001: linux.com/news/flightlinux-tux-space $\endgroup$
    – PM 2Ring
    Commented Sep 10, 2022 at 21:12

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.