Introducing Geniux v25.04
Geniux (GNSS-SDR for Embedded GNU/Linux) is a customized GNU/Linux distribution for developing and running GNSS-SDR on embedded devices, based on the Yocto Project. This Operating System includes a specific set of popular tools, libraries, and device drivers tailored for supporting an extended range of Software Defined Radio applications, helping to bring them to production-ready deployments with an approach widely adopted throughout the embedded/IoT industry.
The Geniux distribution comes in different version names, following those of the Yocto Project, being Rocko the oldest supported version. Each version name is tagged with a timestamp, so Geniux versions can evolve in time, but tagged versions can be reproduced at any time in the future. In addition, each version and each time tag can be built for a particular board or machine. This is expressed in the figure below:
Geniux keeps the pace of the software ecosystem
evolution, but older versions are still reproducible. Virtualization technology
allows reproducing images regardless of the software stack running at the host
system building it.
Those names (Rocko, Sumo, Thud, Warrior, Zeus, etc.) represent major Geniux
versions. Then, each named version can have time tags (in the figure above,
20.09
and 20.10
). All versions have a latest
tag pointing to the latest
commit. Each named version with a time tag can be built for different boards or
machines (in the figure above, zedboard-zynq7
and rasperrypi3
).
Version naming
The Geniux distribution follows the versioning format
VERSION_NAME-MANIFEST_DATE.CONF_NUMBER
, where:
- VERSION_NAME follows those of the
Yocto Project releases.
rocko
,sumo
,thud
,warrior
,zeus
,dunfell
,gatesgarth
,hardknott
,honister
,kirkstone
,langdale
,mickledore
,nanbield
,scarthgap
,styhead
,walnascar
.
- MANIFEST_DATE follows the tag names at
https://github.com/carlesfernandez/oe-gnss-sdr-manifest.
The time tag
latest
always exists for each version name, and points to the latest release.20.09
,21.02
, …,21.08
,22.02
,22.06
,23.04
,24.02
,25.04
,latest
.
- CONF_NUMBER: minor version number.
0
,1
, …
Example of version name: gatesgarth-25.04.0
.
Generating Geniux images for a specific version, time tag, and machine
The generation of images and SDKs for a given Geniux version, time tag, and machine in a virtualized environment is automated by the yocto-geniux repository. With Docker already installed and running on your system, clone the Git repository and go to its base path:
$ git clone https://github.com/carlesfernandez/yocto-geniux
$ cd yocto-geniux
Now you are ready to build Geniux images for the release you want with a single
command, by using the geniux-builder.sh
script. Taking a look at its help
message:
$ ./geniux-builder.sh --help
You should get:
This script builds and stores Geniux images.
Usage:
./geniux-builder.sh [version] [manifest] [machine] (--image-only / -i)
Options:
version Geniux version (from oldest to most recent):
rocko, sumo, thud, warrior, zeus, dunfell, gatesgarth, hardknott, honister,
kirkstone, langdale, mickledore, nanbield, scarthgap, styhead, walnascar.
Default: scarthgap
Check available branches at https://github.com/carlesfernandez/meta-gnss-sdr
manifest Geniux version manifest: 21.02, 21.08, 22.02, 22.06, 23.04, 24.02, 25.04, latest.
Default: latest
Dated manifests available at https://github.com/carlesfernandez/oe-gnss-sdr-manifest/tags
machine Specify your (list of) MACHINE here. By default, zcu102-zynqmp and raspberrypi5 are built.
If more than one, surround it with quotes, e.g.: "raspberrypi4-64 intel-corei7-64"
--image-only / -i (optional) Build the image but do not execute the container.
Environment variables that affect behavior:
GENIUX_MIRROR_PATH Base path to local mirror. Only used if set.
e.g.: 'export GENIUX_MIRROR_PATH=/home/carlesfernandez/mirror'
The mirror is expected to be at '$GENIUX_MIRROR_PATH/sources/$version'
GENIUX_STORE_PATH Path in which products will be stored. Only used if set.
e.g.: 'export GENIUX_STORE_PATH=/home/carlesfernandez/geniux-releases'
GENIUX_STORE_REQUIRES_SUDO If set, the script will ask for super-user privileges to write in the store.
You will be asked only once at the beginning. The password will not be revealed.
e.g.: 'export GENIUX_STORE_REQUIRES_SUDO=1'
You can find specific examples of how to use this script below. For more advanced usage modes (e.g., an interactive mode that allows you to make changes and experiment), check the instructions here.
The building process takes several hours and requires a powerful host system
with at least 120 GB of free space in the hard disk and 32 GB of RAM. When
finished, you will get your products in the output/
folder (or wherever the
GENIUX_STORE_PATH
environment variable points to). Among others:
- gnss-sdr-demo-image: an image containing gnss-sdr, ready to go. It defines the “root” and “geniux” users, both with default password “geniux”.
- gnss-sdr-dev-image: a development image with everything required for gnss-sdr, but without gnss-sdr. You can cross-compile the binary and copy it to the target filesystem. No password.
- Starting from Zeus v21.08,
wic.xz
andwic.bmap
image files ready to de deployed on an SD card. - gnss-sdr-dev-docker: a Docker development image archive file for the target architecture.
- A script that installs a software development kit (SDK) for cross-compiling.
Please note that if the automated building process fails for some reason
(failing network connection, misconfiguration, disappeared source repositories,
shortage of free hard disk space, RAM memory or CPU resources, etc.) before it
finishes, the running container will be deleted and you will lose everything, so
you will need to start over again. For a safer procedure, you can use the
interactive mode
of the Docker image, which allows you to make changes, retry after a failure,
build other images, and save your products to /home/geniux/yocto/output/
when
done, so outside the Docker container. The container itself will be deleted at
exit.
Main features
Ordered from the most recent to the oldest version:
Geniux Walnascar 25.04.0
Still on active development!
- Operating System based on the Yocto Project version 5.2.
- It brings, among many others, the following software packages:
- Development tools: Automake v1.7, CMake v3.31.6, GCC v14.2.0 (+ libgfortran), make v4.4.1, ninja v1.12.1, Python v3.13.2.
- Goodies for signal processing:
- GNSS-SDR v0.0.20.
- SDR framework: GNU Radio v3.10.12
- Number crunching libraries: Armadillo v14.4.0, FFTW v3.3.10, Lapack v3.12.0, VOLK v3.1.1.
- C++ supporting libraries: Boost v1.86.0, abseil v20250127, googletest v1.16, Matio v1.5.28, Protocol Buffers v5.29.4, Pugixml v1.15, OpenSSL 3.4.1.
- Graphical representation: Gnuplot v5.4.3, Matplotlib v3.7.2.
- Additional Python modules (e.g., Scipy) can be installed with
pip3
.
- Software drivers and tools for RF front-ends: UHD 4.8 (+ gr-uhd), gr-iio, gr-osmosdr v0.2.4 (+ rtl-sdr and hackrf), libiio v0.25, libad9361-iio v0.2, iio-oscilloscope v0.17.
-
It can be built for machines defined by the
meta-raspberrypi
,meta-intel
, andopenembedded-core/meta
layers. - If you find this release useful for your research, please cite this work using
the corresponding
oe-gnss-sdr-manifest
Digital Object Identifier
Examples on how to generate images and the SDK using the yocto-geniux tool:
$ ./geniux-builder.sh walnascar 25.04 intel-corei7-64
$ ./geniux-builder.sh walnascar 25.04 raspberrypi5
You can replace 25.04
by latest
in order to get the latest developments.
Very much recommended in this case, since Walnascar is still actively developed.
Geniux Styhead 25.04.0
- Operating System based on the Yocto Project version 5.1.4.
- It brings, among many others, the following software packages:
- Development tools: Automake v1.7, CMake v3.30.2, GCC v14.2.0 (+ libgfortran), make v4.4.1, ninja v1.12.1, Python v3.12.9.
- Goodies for signal processing:
- GNSS-SDR v0.0.20.
- SDR framework: GNU Radio v3.10.12.
- Number crunching libraries: Armadillo v14.4.0, FFTW v3.3.10, Lapack v3.12.0, VOLK v3.1.1.
- C++ supporting libraries: Boost v1.86.0, abseil v20240722, googletest v1.16, Matio v1.5.28, Protocol Buffers v4.25.5, Pugixml v1.15, OpenSSL v3.3.1.
- Software drivers and tools for RF front-ends: UHD 4.8 (+ gr-uhd), gr-iio, gr-osmosdr v0.2.4 (+ rtl-sdr and hackrf), libiio v0.25, libad9361-iio v0.2, iio-oscilloscope v0.17.
-
It can be built for machines defined by the
meta-raspberrypi
,meta-intel
, andopenembedded-core/meta
layers. - If you find this release useful for your research, please cite this work using
the corresponding
oe-gnss-sdr-manifest
Digital Object Identifier
Examples on how to generate images and the SDK using the yocto-geniux tool:
$ ./geniux-builder.sh styhead 25.04 intel-corei7-64
$ ./geniux-builder.sh styhead 25.04 raspberrypi5
You can replace 25.04
by latest
in order to get the latest developments.
Geniux Scarthgap 25.04.0
- Operating System based on the Yocto Project version 5.0.8 LTS (until April 2028).
- It brings, among many others, the following software packages:
- Development tools: Automake v1.16.5, CMake v3.28.3, GCC v13.3.0 (+ libgfortran), make v4.4.1, ninja v1.11.1, Python v3.12.9.
- Goodies for signal processing:
- SDR framework: GNU Radio v3.10.12.
- Number crunching libraries: Armadillo v12.8.2, FFTW v3.3.10, Lapack v3.12.0, VOLK v3.1.1.
- C++ supporting libraries: Boost v1.84.0, abseil v20240116, googletest v1.14, Matio v1.5.27, Protocol Buffers v4.25.3, Pugixml v1.13, OpenSSL v3.2.4.
- Software drivers and tools for RF front-ends: UHD 4.6 (+ gr-uhd), gr-iio, gr-osmosdr v0.2.4 (+ rtl-sdr and hackrf), libiio v0.25, libad9361-iio v0.2, iio-oscilloscope v0.14.
-
It can be built for machines defined by the
meta-raspberrypi
,meta-intel
, andopenembedded-core/meta
layers.- Experimentally, the
meta-gnss-sdr
layer is compatible with AMD/Xilinx PetaLinux Tools v2024.2.
- Experimentally, the
- If you find this release useful for your research, please cite this work using
the corresponding
oe-gnss-sdr-manifest
Digital Object Identifier
Examples on how to generate images and the SDK using the yocto-geniux tool:
$ ./geniux-builder.sh scarthgap 25.04 intel-corei7-64
$ ./geniux-builder.sh scarthgap 25.04 raspberrypi5
You can replace 25.04
by latest
in order to get the latest developments.
Geniux Nanbield 25.04.0
- Operating System based on the Yocto Project version 4.2.4.
- It brings, among many others, the following software packages:
- Development tools: Automake v1.16.5, CMake v3.27.0, GCC v13.2.0 (+ libgfortran), make v4.4.1, ninja v1.11.1, Python v3.11.5.
- Goodies for signal processing:
- GNSS-SDR v0.0.20.
- SDR framework: GNU Radio v3.10.12.
- Number crunching libraries: Armadillo v10.8.0, FFTW v3.3.10, Lapack v3.10.1, VOLK v3.1.1.
- C++ supporting libraries: Boost v1.83.0, gflags v2.2.2, glog v0.6.0, googletest v1.14.0, Matio v1.5.27, Protocol Buffers v3.23.5, Pugixml v1.13, OpenSSL v3.1.5.
- Graphical representation: Gnuplot v5.4.3, Matplotlib v3.5.3.
- Additional Python modules (e.g., Scipy) can be installed with
pip3
.
- Software drivers and tools for RF front-ends: UHD 4.6 (+ gr-uhd), gr-iio, gr-osmosdr v0.2.0 (+ rtl-sdr and hackrf), libiio v0.24, libad9361-iio v0.2, iio-oscilloscope v0.14.
-
It can be built for machines defined by the
meta-raspberrypi
,meta-intel
, andopenembedded-core/meta
layers. -
Changes with respect to the former release (Geniux Nanbield 24.02):
- Updated
meta-gnss-sdr
layer. See themeta-gnss-sdr
layer changelog. - Updated
openembedded-core
layer. See theopenembedded-core
layer changelog. - Updated
meta-qt5
layer. See themeta-qt5
layer changelog. - Updated
meta-sdr
layer. See themeta-sdr
layer changelog. - Updated
meta-raspberrypi
layer. See themeta-raspberrypi
layer changelog. - Updated
meta-intel
layer. See themeta-intel
layer changelog. - Updated developer scripts and CI jobs.
- Updated GNSS-SDR to v0.0.20.
- Manifest full changelog.
- Updated
- If you find this release useful for your research, please cite this work using
the corresponding
oe-gnss-sdr-manifest
Digital Object Identifier
Examples on how to generate images and the SDK using the yocto-geniux tool:
$ ./geniux-builder.sh nanbield 25.04 intel-corei7-64
$ ./geniux-builder.sh nanbield 25.04 raspberrypi4-64
You can replace 25.04
by latest
in order to get the latest developments.
Geniux Mickledore 25.04.0
- Operating System based on the Yocto Project version 4.2.4.
- It brings, among many others, the following software packages:
- Development tools: Automake v1.16.5, CMake v3.25.2, GCC v12.3.0 (+ libgfortran), make v4.4.1, ninja v1.11.1, Python v3.11.5.
- Goodies for signal processing:
- GNSS-SDR v0.0.20.
- SDR framework: GNU Radio v3.10.12.
- Number crunching libraries: Armadillo v10.8.0, FFTW v3.3.10, Lapack v3.10.1, VOLK v3.1.1.
- C++ supporting libraries: Boost v1.81.0, gflags v2.2.2, glog v0.5.0, googletest v1.14.0, Matio v1.5.27, Protocol Buffers v3.21.5, Pugixml v1.13, OpenSSL v3.1.4.
- Graphical representation: Gnuplot v5.4.3, Matplotlib v3.5.3.
- Additional Python modules (e.g., Scipy) can be installed with
pip3
.
- Software drivers and tools for RF front-ends: UHD 4.3 (+ gr-uhd), gr-iio, gr-osmosdr v0.2.0 (+ rtl-sdr and hackrf), libiio v0.23, libad9361-iio v0.2, iio-oscilloscope v0.14.
-
It can be built for machines defined by the
meta-raspberrypi
,meta-intel
, andopenembedded-core/meta
layers. -
Changes with respect to the former release (Geniux Mickledore 24.02):
- Updated
meta-gnss-sdr
layer. See themeta-gnss-sdr
layer changelog. - Updated
meta-sdr
layer. See themeta-sdr
layer changelog. - Updated
meta-raspberrypi
layer. See themeta-raspberrypi
layer changelog. - Updated developer scripts and CI jobs.
- Updated GNSS-SDR to v0.0.20.
- Manifest full changelog.
- Updated
- If you find this release useful for your research, please cite this work using
the corresponding
oe-gnss-sdr-manifest
Digital Object Identifier
Examples on how to generate images and the SDK using the yocto-geniux tool:
$ ./geniux-builder.sh mickledore 25.04 intel-corei7-64
$ ./geniux-builder.sh mickledore 25.04 raspberrypi4-64
You can replace 25.04
by latest
in order to get the latest developments.
Geniux Langdale 25.04.0
- Operating System based on the Yocto Project version 4.1.4.
- It brings, among many others, the following software packages:
- Development tools: Automake v1.16.5, CMake v3.24.0, GCC v12.2.0 (+ libgfortran), make v4.3, ninja v1.11.1, Python v3.10.6.
- Goodies for signal processing:
- GNSS-SDR v0.0.20.
- SDR framework: GNU Radio v3.10.12.
- Number crunching libraries: Armadillo v10.8.0, FFTW v3.3.10, Lapack v3.10.1, VOLK v3.1.1.
- C++ supporting libraries: Boost v1.80.0, gflags v2.2.2, glog v0.5.0, googletest v1.14.0, Matio v1.5.27, Protocol Buffers v3.21.5, Pugixml v1.13, OpenSSL v3.0.8.
- Graphical representation: gnss-sdr-monitor v1.0, Gnuplot v5.4.3, Matplotlib v3.5.3.
- Additional Python modules (e.g., Scipy) can be installed with
pip3
.
- Software drivers and tools for RF front-ends: UHD 4.3 (+ gr-uhd), gr-iio, gr-osmosdr v0.2.0 (+ rtl-sdr and hackrf), libiio v0.23, libad9361-iio v0.2, iio-oscilloscope v0.14.
-
It can be built for machines defined by the
meta-xilinx-bsp
,meta-xilinx-vendor
,meta-raspberrypi
,meta-intel
, andopenembedded-core/meta
layers.- The
meta-xilinx
layer points to therel-v2023.2
branch. - The
meta-adi
layer points to the2023_R2
branch. - The
hdl
repo points to thehdl_2023_r2
branch. - Experimentally, the
meta-gnss-sdr
layer is compatible with AMD/Xilinx PetaLinux Tools v2023.2.
- The
-
Changes with respect to the former release (Geniux Langdale 24.02):
- Updated
meta-gnss-sdr
layer. See themeta-gnss-sdr
layer changelog. - Updated
meta-sdr
layer. See themeta-sdr
layer changelog. - Updated
meta-xilinx
layer. See themeta-xilinx
layer changelog. - Updated
meta-xilinx-tools
layer. See themeta-xilinx-tools
layer changelog. - Added
meta-adi
layer and set to the2023_R2
branch. - Added
hdl
repo and set to thehdl_2023_r2
branch. - Updated developer scripts and CI jobs.
- Updated GNSS-SDR to v0.0.20.
- Manifest full changelog.
- Updated
- If you find this release useful for your research, please cite this work using
the corresponding
oe-gnss-sdr-manifest
Digital Object Identifier
Examples on how to generate images and the SDK using the yocto-geniux tool:
$ ./geniux-builder.sh langdale 25.04 intel-corei7-64
$ ./geniux-builder.sh langdale 25.04 raspberrypi4-64
$ ./geniux-builder.sh langdale 25.04 zedboard-zynq7
$ ./geniux-builder.sh langdale 25.04 zcu208-zynqmp
You can replace 25.04
by latest
in order to get the latest developments.
Geniux Kirkstone 25.04.0
- Operating System based on the Yocto Project version 4.0.16 LTS (until April 2026).
- It brings, among many others, the following software packages:
- Development tools: Automake v1.16.5, CMake v3.22.3, GCC v11.2.0 (+ libgfortran), make v4.3, ninja v1.10.2, Python v3.10.4.
- Goodies for signal processing:
- GNSS-SDR v0.0.20.
- SDR framework: GNU Radio v3.10.12.
- Number crunching libraries: Armadillo v10.8.0, FFTW v3.3.9, Lapack v3.9.0, VOLK v3.1.1.
- C++ supporting libraries: Boost v1.77.0, gflags v2.2.2, glog v0.5.0, googletest v1.12.1, Matio v1.5.23, Protocol Buffers v3.19.4, Pugixml v1.13, OpenSSL v3.0.16.
- Graphical representation: gnss-sdr-monitor v1.0, Gnuplot v5.4.3, Matplotlib v3.5.1.
- Additional Python modules (e.g., Scipy) can be installed with
pip3
.
- Software drivers and tools for RF front-ends: UHD 4.3 (+ gr-uhd), gr-iio, gr-osmosdr v0.2.0 (+ rtl-sdr and hackrf), libiio v0.24, libad9361-iio v0.2, iio-oscilloscope v0.14.
-
It can be built for machines defined by the
meta-raspberrypi
,meta-intel
, andopenembedded-core/meta
layers. - Changes with respect to the former release (Geniux Kirkstone 24.02):
- Updated
meta-gnss-sdr
layer. See themeta-gnss-sdr
layer changelog. - Updated
openembedded-core
layer. See theopenembedded-core
layer changelog. - Updated
meta-openembedded
layer. See themeta-openembedded
layer changelog. - Updated
meta-qt5
layer. See themeta-qt5
layer changelog. - Updated
meta-sdr
layer. See themeta-sdr
layer changelog. - Updated
meta-raspberrypi
layer. See themeta-raspberrypi
layer changelog. - Updated
meta-intel
layer. See themeta-intel
layer changelog. - Updated developer scripts and CI jobs.
- Updated GNSS-SDR to v0.0.20.
- Manifest full changelog.
- Updated
- If you find this release useful for your research, please cite this work using
the corresponding
oe-gnss-sdr-manifest
Digital Object Identifier
Examples on how to generate images and the SDK using the yocto-geniux tool:
$ ./geniux-builder.sh kirkstone 25.04 intel-corei7-64
$ ./geniux-builder.sh kirkstone 25.04 raspberrypi4-64
You can replace 25.04
by latest
in order to get the latest developments.
Geniux Honister 25.04.0
- Operating System based on the Yocto Project version 3.4.4.
-
It brings, among many others, the following software packages:
- Development tools: Automake v1.16.3, CMake v3.21.1, GCC v11.2.0 (+ libgfortran), make v4.3, ninja v1.10.2, Python v3.9.9.
- Goodies for signal processing:
- GNSS-SDR v0.0.20.
- SDR framework: GNU Radio v3.10.2.
- Number crunching libraries: Armadillo v10.8.0, FFTW v3.3.9, Lapack v3.9.0, VOLK v2.5.1.
- C++ supporting libraries: Boost v1.77.0, gflags v2.2.2, glog v0.5.0, googletest v1.12.1, Matio v1.5.23, Protocol Buffers v3.18.0, Pugixml v1.13, OpenSSL v1.1.1o.
- Graphical representation: gnss-sdr-monitor v1.0, Gnuplot v5.4.1, Matplotlib v3.4.1.
- Additional Python modules (e.g., Scipy) can be installed with
pip3
.
- Software drivers and tools for RF front-ends: UHD 4.3 (+ gr-uhd), gr-iio, gr-osmosdr v0.2.0 (+ rtl-sdr and hackrf), libiio v0.24, libad9361-iio v0.2, iio-oscilloscope v0.14.
-
It can be built for machines defined by the
meta-xilinx-bsp
,meta-xilinx-vendor
,meta-raspberrypi
,meta-intel
, andopenembedded-core/meta
layers.- The
meta-xilinx
layer points to therel-v2022.2
branch. - The
meta-adi
layer points to the2022_R2
branch. - The
hdl
repo points to thehdl_2022_r2
branch. - The
meta-gnss-sdr
layer is compatible with Xilinx PetaLinux Tools v2022.2.
- The
-
Changes with respect to the former release (Geniux Honister 24.02):
- Updated
meta-gnss-sdr
layer. See themeta-gnss-sdr
layer changelog. - Added
meta-adi
layer and set to the2022_R2
branch. - Added
hdl
repo and set to thehdl_2022_r2
branch. - Updated developer scripts and CI jobs.
- Updated GNSS-SDR to v0.0.20.
- Manifest full changelog.
- Updated
- If you find this release useful for your research, please cite this work using
the corresponding
oe-gnss-sdr-manifest
Digital Object Identifier
Examples on how to generate images and the SDK using the yocto-geniux tool:
$ ./geniux-builder.sh honister 25.04 intel-corei7-64
$ ./geniux-builder.sh honister 25.04 raspberrypi4-64
$ ./geniux-builder.sh honister 25.04 zedboard-zynq7
$ ./geniux-builder.sh honister 25.04 zc706-zynq7
$ ./geniux-builder.sh honister 25.04 zcu102-zynqmp
$ ./geniux-builder.sh honister 25.04 zcu208-zynqmp
You can replace 25.04
by latest
in order to get the latest developments.
Geniux Hardknott 25.04.0
- Operating System based on the Yocto Project version 3.3.6.
- It brings, among many others, the following software packages:
- Development tools: Automake v1.16.3, CMake v3.19.5, GCC v10.3.0 (+ libgfortran), make v4.3, ninja v1.10.2, Python v3.9.9.
- Goodies for signal processing:
- GNSS-SDR v0.0.20.
- SDR framework: GNU Radio v3.8.0.
- Number crunching libraries: Armadillo v10.8.0, FFTW v3.3.9, Lapack v3.9.0, VOLK v2.5.0.
- C++ supporting libraries: Boost v1.75.0, gflags v2.2.2, glog v0.5.0, googletest v1.12.1, Matio v1.5.23, Protocol Buffers v3.15.2, Pugixml v1.13, OpenSSL v1.1.1n.
- Graphical representation: gnss-sdr-monitor v1.0, Gnuplot v5.2.8, Matplotlib v3.4.1.
- Additional Python modules (e.g., Scipy) can be installed with
pip3
.
- Software drivers and tools for RF front-ends: UHD v3.15.LTS (+ gr-uhd), gr-osmosdr v0.2.3 (+ rtl-sdr and hackrf), gr-iio v0.3, libiio v0.23, libad9361-iio v0.2, iio-oscilloscope v0.14.
-
It can be built for machines defined by the
meta-raspberrypi
,meta-intel
, andopenembedded-core/meta
layers. -
Changes with respect to the former release (Geniux Hardknott 24.02):
- Updated
meta-gnss-sdr
layer. See themeta-gnss-sdr
layer changelog. - Updated developer scripts and CI jobs.
- Updated GNSS-SDR to v0.0.20.
- Manifest full changelog.
- Updated
- If you find this release useful for your research, please cite this work using
the corresponding
oe-gnss-sdr-manifest
Digital Object Identifier
Examples on how to generate images and the SDK using the yocto-geniux tool:
$ ./geniux-builder.sh hardknott 25.04 intel-corei7-64
$ ./geniux-builder.sh hardknott 25.04 raspberrypi4-64
$ ./geniux-builder.sh hardknott 25.04 qemuarm64
You can replace 25.04
by latest
in order to get the latest developments.
Geniux Gatesgarth 25.04.0
- Operating System based on the Yocto Project version 3.2.4.
- It brings, among many others, the following software packages:
- Development tools: Automake v1.16.2, CMake v3.18.2, GCC v10.2.0 (+ libgfortran), make v4.3, ninja v1.10.1, Python v3.8.5.
- Goodies for signal processing:
- GNSS-SDR v0.0.20.
- SDR framework: GNU Radio v3.8.5.0.
- Number crunching libraries: Armadillo v10.8.0, FFTW v3.3.9, Lapack v3.9.0, VOLK v2.4.1.
- C++ supporting libraries: Boost v1.74.0, gflags v2.2.2, glog v0.5.0, googletest v1.12.1, Matio v1.5.23, Protocol Buffers v3.13.0, Pugixml v1.13, OpenSSL v1.1.1k.
- Graphical representation: gnss-sdr-monitor v1.0, Gnuplot v5.2.8, Matplotlib v3.3.2.
- Additional Python modules (e.g., Scipy) can be installed with
pip3
.
- Software drivers and tools for RF front-ends: UHD v3.15.LTS (+ gr-uhd), gr-osmosdr v0.2.3 (+ rtl-sdr and hackrf), gr-iio v0.3, libiio v0.23, libad9361-iio v0.2, iio-oscilloscope v0.14.
-
It can be built for machines defined by the
meta-xilinx-bsp
,meta-raspberrypi
,meta-intel
, andopenembedded-core/meta
layers.- The
meta-xilinx
layer points to therel-v2021.2
branch. - Use
linux-xlnx
kernel forzedboard-zynq7
machine, based on Linux kernel 5.10. - The
meta-gnss-sdr
layer is compatible with Xilinx PetaLinux Tools v2021.2.
- The
-
Changes with respect to the former release (Geniux Gatesgarth 24.02):
- Updated
meta-gnss-sdr
layer. See themeta-gnss-sdr
layer changelog. - Updated developer scripts and CI jobs.
- Updated GNSS-SDR to v0.0.20.
- Manifest full changelog.
- Updated
- If you find this release useful for your research, please cite this work using
the corresponding
oe-gnss-sdr-manifest
Digital Object Identifier
Examples on how to generate images and the SDK using the yocto-geniux tool:
$ ./geniux-builder.sh gatesgarth 25.04 zedboard-zynq7
$ ./geniux-builder.sh gatesgarth 25.04 zc706-zynq7
$ ./geniux-builder.sh gatesgarth 25.04 raspberrypi4-64
$ ./geniux-builder.sh gatesgarth 25.04 intel-skylake-64
$ ./geniux-builder.sh gatesgarth 25.04 qemuarm64
You can replace 25.04
by latest
in order to get the latest developments.
Geniux Dunfell 25.04.0 (End-of-Life)
IMPORTANT NOTE: End-of-Life (EOL) This is the last release of the Geniux
Dunfell manifest. From now on, only the latest
Dunfell manifest could be
occasionally updated, but no more tagged versions for Geniux Dunfell will be
published.
- Operating System based on the Yocto Project version 3.1.33 LTS.
- It brings, among many others, the following software packages:
- Development tools: Automake v1.16.1, CMake v3.16.5, GCC v9.5.0 (+ libgfortran), make v4.3, ninja v1.10.0, Python v3.8.12.
- Goodies for signal processing:
- GNSS-SDR v0.0.20.
- SDR framework: GNU Radio v3.8.5.0.
- Number crunching libraries: Armadillo v10.8.0, FFTW v3.3.9, Lapack v3.7.0, VOLK v2.4.1.
- C++ supporting libraries: Boost v1.72.0, gflags v2.2.2, glog v0.5.0, googletest v1.12.1, Matio v1.5.23, Protocol Buffers v3.11.4, Pugixml v1.11.4.
- Graphical representation: gnss-sdr-monitor v1.0, Gnuplot v5.2.8, Matplotlib v3.2.1.
- Additional Python modules (e.g., Scipy) can be installed with
pip3
.
- Software drivers and tools for RF front-ends: UHD v3.15.LTS (+ gr-uhd), gr-osmosdr v0.2.3 (+ rtl-sdr and hackrf), gr-iio v0.3, libiio v0.23, libad9361-iio v0.2, iio-oscilloscope v0.14.
-
It can be built for machines defined by the
meta-xilinx-bsp
,meta-raspberrypi
,meta-intel
, andopenembedded-core/meta
layers. -
Changes with respect to the former release (Geniux Dunfell 24.02):
- Updated
meta-gnss-sdr
layer. See themeta-gnss-sdr
layer changelog. - Updated
openembedded-core
layer. See theopenembedded-core
layer changelog. - Updated
meta-openembedded
layer. See themeta-openembedded
layer changelog. - Updated
meta-intel
layer. See themeta-intel
layer changelog. - Updated developer scripts and CI jobs.
- Updated GNSS-SDR to v0.0.20.
- Manifest full changelog.
- Updated
- If you find this release useful for your research, please cite this work using
the corresponding
oe-gnss-sdr-manifest
Digital Object Identifier
Examples on how to generate images and the SDK using the yocto-geniux tool:
$ ./geniux-builder.sh dunfell 25.04 zedboard-zynq7
$ ./geniux-builder.sh dunfell 25.04 raspberrypi4-64
$ ./geniux-builder.sh dunfell 25.04 intel-corei7-64
$ ./geniux-builder.sh dunfell 25.04 qemuarm64
You can replace 25.04
by latest
in order to get the latest developments, but
please consider that this Geniux version has reached its End-of-Life and it will
not be actively maintained anymore.
Geniux Zeus 25.04.0 (End-of-Life)
IMPORTANT NOTE: End-of-Life (EOL) This is the last release of the Geniux
Zeus manifest. From now on, only the latest
Zeus manifest could be
occasionally updated, but no more tagged versions for Geniux Zeus will be
published.
- Operating System based on the Yocto Project version 3.0.4.
- It brings, among many others, the following software packages:
- Development tools: Automake v1.16.1, CMake v3.15.3, GCC v9.2.0 (+ libgfortran), make v4.2.1, ninja v1.9.0, Python v2.7.18 and v3.7.8.
- Goodies for signal processing:
- GNSS-SDR v0.0.20.
- SDR framework: GNU Radio v3.8.2.0.
- Number crunching libraries: Armadillo v10.8.0, FFTW v3.3.9, Lapack v3.7.0, VOLK v2.3.0.
- C++ supporting libraries: Boost v1.71.0, gflags v2.2.2, glog v0.5.0, googletest v1.12.0, Matio v1.5.23, Protocol Buffers v3.9.2, Pugixml v1.11.4.
- Graphical representation: gnss-sdr-monitor v1.0, Gnuplot v5.2.2, Matplotlib v3.1.1.
- Additional Python modules (e.g., Scipy) can be installed with
pip3
.
- Software drivers and tools for RF front-ends: UHD v3.15.LTS (+ gr-uhd), gr-osmosdr v0.2.3 (+ rtl-sdr and hackrf), gr-iio v0.3, libiio v0.23, libad9361-iio v0.2, iio-oscilloscope v0.14.
-
It can be built for machines defined by the
meta-xilinx-bsp
,meta-raspberrypi
,meta-intel
, andopenembedded-core/meta
layers.- The
meta-xilinx
layer points torel-v2020.3
branch.
- The
- Changes with respect to the former release (Geniux Zeus 24.02):
- Updated
meta-gnss-sdr
layer. See themeta-gnss-sdr
layer changelog. - Updated developer scripts and CI jobs.
- Updated GNSS-SDR to v0.0.20.
- Manifest full changelog.
- Updated
- If you find this release useful for your research, please cite this work using
the corresponding
oe-gnss-sdr-manifest
Digital Object Identifier
Examples on how to generate images and the SDK using the yocto-geniux tool:
$ ./geniux-builder.sh zeus 25.04 zedboard-zynq7
$ ./geniux-builder.sh zeus 25.04 raspberrypi4-64
$ ./geniux-builder.sh zeus 25.04 intel-skylake-64
$ ./geniux-builder.sh zeus 25.04 qemuarm64
You can replace 25.04
by latest
in order to get the latest developments, but
please consider that this Geniux version has reached its End-of-Life and it will
not be actively maintained anymore.
Geniux Warrior 25.04.0 (End-of-Life)
IMPORTANT NOTE: End-of-Life (EOL) This is the last release of the Geniux
Warrior manifest. From now on, only the latest
Warrior manifest could be
occasionally updated, but no more tagged versions for Geniux Warrior will be
published.
- Operating System based on the Yocto Project version 2.7.4.
- It brings, among many others, the following software packages:
- Development tools: Automake v1.16.1, CMake v3.14.1, GCC v8.3.0 (+ libgfortran), make v4.2.1, ninja v1.9.0, Python v2.7.18 and v3.7.7.
- Goodies for signal processing:
- GNSS-SDR v0.0.20.
- SDR framework: GNU Radio v3.8.2.0.
- Number crunching libraries: Armadillo v10.8.0, FFTW v3.3.9, Lapack v3.7.0, VOLK v2.3.0.
- C++ supporting libraries: Boost v1.69.0, gflags v2.2.2, glog v0.5.0, googletest v1.12.0, Matio v1.5.23, Protocol Buffers v3.6.1, Pugixml v1.11.4.
- Graphical representation: gnss-sdr-monitor v1.0, Gnuplot v5.2.2.
- Additional Python modules (e.g., Scipy, Matplotlib) can be installed
with
pip3
.
- Software drivers and tools for RF front-ends: UHD v3.15.LTS (+ gr-uhd), gr-osmosdr v0.2.3 (+ rtl-sdr and hackrf), gr-iio v0.3, libiio v0.23, libad9361-iio v0.2, iio-oscilloscope v0.14.
-
It can be built for machines defined by the
meta-xilinx-bsp
,meta-raspberrypi
,meta-intel
, andopenembedded-core/meta
layers. - Changes with respect to the former release (Geniux Warrior 24.02):
- Updated
meta-gnss-sdr
layer. See themeta-gnss-sdr
layer changelog. - Updated developer scripts and CI jobs.
- Updated GNSS-SDR to v0.0.20.
- Manifest full changelog.
- Updated
- If you find this release useful for your research, please cite this work using
the corresponding
oe-gnss-sdr-manifest
Digital Object Identifier
Examples on how to generate images and the SDK using the yocto-geniux tool:
$ ./geniux-builder.sh warrior 25.04 zedboard-zynq7
$ ./geniux-builder.sh warrior 25.04 raspberrypi4-64
$ ./geniux-builder.sh warrior 25.04 intel-corei7-64
$ ./geniux-builder.sh warrior 25.04 qemuarm64
You can replace 25.04
by latest
in order to get the latest developments, but
please consider that this Geniux version has reached its End-of-Life and it will
not be actively maintained anymore.
Geniux Thud 25.04.0 (End-of-Life)
IMPORTANT NOTE: End-of-Life (EOL) This is the last release of the Geniux
Thud manifest. From now on, only the latest
Thud manifest could be
occasionally updated, but no more tagged versions for Geniux Thud will be
published.
- Operating System based on the Yocto Project version 2.6.4.
- It brings, among many others, the following software packages:
- Development tools: Automake v1.16.1, CMake v3.12.2, GCC v8.2.0 (+ libgfortran), make v4.2.1, ninja v1.8.2, Python v2.7.16 and v3.5.6.
- Goodies for signal processing:
- GNSS-SDR v0.0.20.
- SDR framework: GNU Radio v3.7.14.0.
- Number crunching libraries: Armadillo v10.8.0, FFTW v3.3.8, Lapack v3.7.0, VOLK v2.2.1.
- C++ supporting libraries: Boost v1.64.0, gflags v2.2.2, glog v0.5.0, googletest v1.12.0, Matio v1.5.23, Protocol Buffers v3.6.1, Pugixml v1.11.4.
- Graphical representation: gnss-sdr-monitor v1.0, Gnuplot v5.2.2.
- Additional Python modules (e.g., Scipy, Matplotlib) can be installed
with
pip3
.
- Software drivers and tools for RF front-ends: UHD v3.13.0.1 (+ gr-uhd), libiio v2019_R2, libad9361-iio v2019_R2, iio-oscilloscope v2019_R2.
- It can be built for machines defined by the
meta-xilinx-bsp
,meta-raspberrypi
,meta-intel
, andopenembedded-core/meta
layers.- The
meta-xilinx
layer points to therel-v2019.2
branch.
- The
-
The
meta-gnss-sdr
layer is compatible with Xilinx PetaLinux Tools v2019.2. - Changes with respect to the former release (Geniux Thud 24.02):
- Updated
meta-gnss-sdr
layer. See themeta-gnss-sdr
layer changelog. - Updated developer scripts and CI jobs.
- Updated GNSS-SDR to v0.0.20.
- Manifest full changelog.
- Updated
- If you find this release useful for your research, please cite this work using
the corresponding
oe-gnss-sdr-manifest
Digital Object Identifier
Examples on how to generate images and the SDK using the yocto-geniux tool:
$ ./geniux-builder.sh thud 25.04 zedboard-zynq7
$ ./geniux-builder.sh thud 25.04 zcu102-zynqmp
$ ./geniux-builder.sh thud 25.04 raspberrypi3
$ ./geniux-builder.sh thud 25.04 intel-corei7-64
$ ./geniux-builder.sh thud 25.04 qemuarm64
You can replace 25.04
by latest
in order to get the latest developments, but
please consider that this Geniux version has reached its End-of-Life and it will
not be actively maintained anymore.
Geniux Sumo 25.04.0 (End-of-Life)
IMPORTANT NOTE: End-of-Life (EOL) This is the last release of the Geniux
Sumo manifest. From now on, only the latest
Sumo manifest could be
occasionally updated, but no more tagged versions for Geniux Sumo will be
published.
- Operating System based on the Yocto Project version 2.5.3.
- It brings, among many others, the following software packages:
- Development tools: Automake v1.15.1, CMake v3.10.3, GCC v7.3.0 (+ libgfortran), make v4.2.1, ninja v1.8.2, Python v2.7.15 and v3.5.5.
- Goodies for signal processing:
- GNSS-SDR v0.0.20.
- SDR framework: GNU Radio v3.7.13.5.
- Number crunching libraries: Armadillo v10.8.0, FFTW v3.3.7, Lapack v3.7.0, VOLK v1.5.0.
- C++ supporting libraries: Boost v1.66.0, gflags v2.2.2, glog v0.5.0, googletest v1.12.0, Matio v1.5.23, Protocol Buffers v3.5.1, Pugixml v1.11.4.
- Graphical representation: Gnuplot v5.2.2.
- Additional Python modules (e.g., Scipy, Matplotlib) can be installed
with
pip3
.
- Software drivers and tools for RF front-ends: gr-osmosdr v0.1.4.1 (+ rtl-sdr and hackrf), gr-iio v0.3, libiio v2019_R1, libad9361-iio v2019_R1, iio-oscilloscope v2019_R1.
-
It can be built for machines defined by the
meta-xilinx-bsp
,meta-raspberrypi
,meta-intel
, andopenembedded-core/meta
layers. - Changes with respect to the former release (Geniux Sumo 24.02):
- Updated
meta-gnss-sdr
layer. See themeta-gnss-sdr
layer changelog. - Updated developer scripts and CI jobs.
- Updated GNSS-SDR to v0.0.20.
- Manifest full changelog.
- Updated
- If you find this release useful for your research, please cite this work using
the corresponding
oe-gnss-sdr-manifest
Digital Object Identifier
Examples on how to generate images and the SDK using the yocto-geniux tool:
$ ./geniux-builder.sh sumo 25.04 zedboard-zynq7
$ ./geniux-builder.sh sumo 25.04 raspberrypi3
$ ./geniux-builder.sh sumo 25.04 intel-corei7-64
$ ./geniux-builder.sh sumo 25.04 qemuarm64
You can replace 25.04
by latest
in order to get the latest developments, but
please consider that this Geniux version has reached its End-of-Life and it will
not be actively maintained anymore.
Geniux Rocko 25.04.0 (End-of-Life)
IMPORTANT NOTE: End-of-Life (EOL) This is the last release of the Geniux
Rocko manifest. From now on, only the latest
Rocko manifest could be
occasionally updated, but no more tagged versions for Geniux Rocko will be
published.
- Operating System based on the Yocto Project version 2.4.4.
- It brings, among many others, the following software packages:
- Development tools: Automake v1.15.1, CMake v3.8.2, GCC v7.3.0 (+ libgfortran), make v4.2.1, ninja v1.7.2, Python v2.7.14 and v3.5.3.
- Goodies for signal processing:
- GNSS-SDR v0.0.20.
- SDR framework: GNU Radio v3.7.13.
- Number crunching libraries: Armadillo v10.8.0, FFTW v3.3.6, Lapack v3.7.0, VOLK v1.4.0.
- C++ supporting libraries: Boost v1.64.0, gflags v2.2.2, glog v0.5.0, googletest v1.12.1, Matio v1.5.23, Protocol Buffers v3.4.1, Pugixml v1.11.4.
- Graphical representation: Gnuplot v5.0.5.
- Additional Python modules (e.g., Scipy, Matplotlib) can be installed
with
pip3
.
- Software drivers and tools for RF front-ends: UHD v3.10.2.0 (+ gr-uhd), gr-osmosdr v0.1.4.1 (+ rtl-sdr, airspy, hackrf, and rfspace), gr-iio v0.3, libiio v2019_R1, libad9361-iio v2019_R1, iio-oscilloscope v2019_R1.
- It can be built for machines defined by the
meta-xilinx-bsp
,meta-raspberrypi
,meta-intel
, andopenembedded-core/meta
layers. -
The
meta-gnss-sdr
layer is compatible with Xilinx PetaLinux Tools v2018.3. -
Changes with respect to the former release (Geniux Rocko 24.02):
- Updated
meta-gnss-sdr
layer. See themeta-gnss-sdr
layer changelog. - Updated developer scripts and CI jobs.
- Updated GNSS-SDR to v0.0.20.
- Manifest full changelog.
- Updated
- If you find this release useful for your research, please cite this work using
the corresponding
oe-gnss-sdr-manifest
Digital Object Identifier
Examples on how to generate images and the SDK using the yocto-geniux tool:
$ ./geniux-builder.sh rocko 25.04 zedboard-zynq7
$ ./geniux-builder.sh rocko 25.04 zcu102-zynqmp
$ ./geniux-builder.sh rocko 25.04 raspberrypi3
$ ./geniux-builder.sh rocko 25.04 intel-corei7-64
$ ./geniux-builder.sh rocko 25.04 qemuarm
You can replace 25.04
by latest
in order to get the latest developments, but
please consider that this Geniux version has reached its End-of-Life and it will
not be actively maintained anymore.
Flashing images on an SD card
Starting from Geniux Zeus 21.08, the geniux-builder.sh
script produces .wic
images that can be flashed on an SD card and your device will be ready to go.
For image flashing, we recommend using a software tool such as
Balena Etcher. Just pick up the
gnss-sdr-demo-image-$MACHINE-yyyymmddHHMMSS.rootfs.wic.xz
file, flash your SD
card, insert it in your device, and it will be ready to boot and run gnss-sdr
.
Other flashing options here.
Key repositories
All the required information for building a Geniux release is contained in three public repositories:
- meta-gnss-sdr layer: Yocto layer defining all the packages in the Geniux
distribution, including the recipes for downloading and building them, their
cryptographic hash, the way to create customized full-system images.
- URL: https://github.com/carlesfernandez/meta-gnss-sdr
- Each Geniux version is defined in a different branch:
rocko
,sumo
,thud
,warrior
,zeus
,dunfell
,gatesgarth
,hardknott
,honister
,kirkstone
,langdale
,mickledore
,nanbield
,scarthgap
,styhead
,walnascar
. Those branches are updated as we learn more about the Yocto Project usage, so they evolve in time.
- oe-gnss-sdr-manifest: Manifest containing the specific commits of all the
other Yocto layers required to build Geniux (notably,
openembedded-core,
meta-openembedded,
meta-qt5,
meta-sdr,
meta-xilinx,
meta-raspberrypi,
meta-intel, etc.).
- URL: https://github.com/carlesfernandez/oe-gnss-sdr-manifest
- Each Geniux version is defined in a different branch:
rocko
,sumo
,thud
,warrior
,zeus
,dunfell
,gatesgarth
,hardknott
,honister
,kirkstone
,langdale
,mickledore
,nanbield
,scarthgap
,styhead
,walnascar
. - Tags: each tag corresponds to a version of the manifest in which the
meta-gnss-sdr
has been pinned to a specific commit. This allows fully-reproducible buildings in the future since it defines a fully-specified software system set. Examples:rocko-25.04
,sumo-25.04
,thud-25.04
, etc. - In the above instructions, when
MANIFEST_DATE
is set tolatest
, all the layers are pinned to a specific commit but except themeta-gnss-sdr
layer, which points to whatever it is in the corresponding branch of that layer at that point of time.
- yocto-geniux: Tool for the virtualization and automation of the building
process.
- URL: https://github.com/carlesfernandez/yocto-geniux
- Version: v3.5
If you miss any feature on Geniux, or have an idea on how to make it better, pull requests and issues are welcome on those repositories. Their contents are released under the MIT License.
Disclaimer
Yocto Project and all related marks and logos are trademarks of The Linux Foundation. This website is not, in any way, endorsed by the Yocto Project or The Linux Foundation.
Enjoy Geniux!
Leave a comment