Building a Linux Distribution for Space Computers
Examensarbete för masterexamen
LAGERQUIST SERGEL, LINA
Computer platforms used in mission- or safety-critical applications are often designed to support execution of hard real-time tasks. Linux has traditionally not been used as a real-time operating system for these applications but has become a more viable option within recent years. In this thesis, we explore how embedded Linux distributions can be built to be used as a real-time operating system for space computers. We compare how the build systems Yocto Project and Buildroot can generate the components required to boot Linux on two reference design boards provided by RUAG Space. By using the benchmark tools cyclictest and lat_ctx we evaluate the latency of response to an interrupt and context switching latency. This is done for two builds on one of the reference design boards. Further, we provide pointers on how an implementation can be made on RUAG Space’s custom space computer, and discuss what components should be included in such a build. Based on our benchmark results, we conclude that a Linux kernel equipped with the PREEMPT_RT patch has an improved deterministic behaviour. The patched kernel compared to a basic version of the kernel has a reduced maximum latency when reacting to an interrupt. The patched kernel also has a more consistent increasing context switching latency based on the number of involved processes. Regarding the build systems we can, through our observations, conclude that Buildroot is more user-friendly than Yocto. However, we perceive that Buildroot can be more limiting because of its reduced complexity and available packages.
Linux , PREEMPT_RT , cyclictest , rt-tests , LMbench , Yocto Project , Buildroot , RTOS