Space-applications embedded Linux distribution for NVIDIA Jetson platforms using Yocto Project tools and the meta-tegra BSP layer. The development of this distribution is part of a master's thesis "Design and simplification of a Linux Operating System (OS) for space". This research is done in the context of the Master of Science program in the field of Electronics - ICT with specialization in software systems at KU Leuven in Leuven, Belgium.
- Stripped and lightweight version of the latest Linux kernels
- Custom power modes for suitable power management in space
- Kernel optimizations for realtime applications
- Optimized, RAID1-enabled
btrfsfilesystem - GPT partition table safeguarding
- Extremely fast boottimes to keep uptime high
swupdate-ready
More information about the features can be found on the Wiki.
See the Yocto Project Quick Build documentation for information on setting up a build host. This layer has been tested with Ubuntu (22.04 / 24.04) and Fedora (40 / 41) as build host.
Since this distribution is created for NVIDIA Jetson platforms, the meta-tegra layer containing the BSP for the NVIDIA Tegra SoC family also needs to be cloned. Refer to the meta-tegra repository for information on how to properly install this layer. Ensure that the cloned branch of meta-tegra is the same as the installed release of the Yocto Project and is supported by this distro.
Important notes:
- This
meta-spacelinuxlayer is only compatible with thescarthgap,styheadandwalnascarrelease of the Yocto Project/Poky. - The
spacelinuxdistro only supports boards in the NVIDIA Tegra SoC family, this choice has been made to reduce the size and complexity of the kernel in the context of the research this distro originates from.
- Clone this repository into the project directory. It is a good practice to create a folder
layersand contain all layers in there, including thismeta-spacelinuxlayer.
$ git clone https://github.com/Lander0606/meta-spacelinux/-
Change to a new branch if needed. Other branches support other releases of the Yocto Project.
-
Clone the
meta-openembeddedlayer into thelayersdirectory of the project. Some handy applications from this layer are used in the distro. Frommeta-openembedded, onlymeta-oeis required. -
Add the
meta-spacelinuxandmeta-oelayer tobblayers.confin thebuilddirectory.
BBLAYERS ?= " \
<project-dir>/poky/meta \
<project-dir>/poky/meta-poky \
<project-dir>/poky/meta-yocto-bsp \
<project-dir>/layers/meta-tegra \
+ <project-dir>/layers/meta-openembedded/meta-oe \
+ <project-dir>/layers/meta-spacelinux \
"The spacelinux distribution includes the following image recipe:
| Image name | Description |
|---|---|
| spacelinux-image-base | Base image featuring all device drivers, a cmdline interface and ssh |
Use the Issues tab for reporting build or runtime issues with Spacelinux Yocto build targets. When reporting build or runtime issues, please include as much information about your environment as you can. For example, the target hardware you are building for, branch/version information, etc.