Comment on page
Packaging AuterionOS Image
Any change to the flight control source code can have severe impacts on the vehicle's safety.
In order to package and deploy your own application you need a base AEPX4 image. The latest release can be downloaded from the Auterion Suite (Auterion Enterprise PX4 for Skynode). The image can be used with local software updates or with the development workflow explained below.
Note that there are two types of AuterionOS images: Development and production builds. There is a dedicated page describing the difference between these two build types.
There are several ways to modify AuterionOS and/or APX4. The section Modifying AuterionOS covers most of them. You can also develop custom applications which can be included in AuterionOS images as well. For reference see our dedicated application development documentation:
The various modifications can all be combined into a single .auterionos file, which contains the AuterionOS base system as well as the APX4 firmware for the Autopilot.
A summary of the most common packaging commands can be found below:
# Basic package command
# - includes APX4 configuration from ./fmu/config
# - includes SSH keys from ./authorized_keys
# - includes custom Apps from ./apps
make package-update \
version=my-version \
artifactPath=~/Download/artifact.auterionos \
outputArtifactPath=./output/update.auterionos
# Same as above, but also include
# - APX4 firmware from ./fmu/binaries:
make package-update \
injectFMU=1 \
version=my-version \
artifactPath=~/Download/artifact.auterionos \
outputArtifactPath=./output/update.auterionos
Make sure to replace
my-version
with the version name you want to give the artifact, as well as setting <APX4 Release>
to the correct path where the base image is located. Note, that the above packaging command does not deploy anything to Skynode yet, refer to the next section for instructions to deploy an image onto a local Skynode.If you are interested in using a custom PX4 version please contact Auterion Support.
You can inject your own custom APX4 binaries by adding the files to
aepx4-developer-tools-2.x.x/fmu/binaries
folder and use the argument injectFMU=1
when running the package-update
command, for example:make package-update \
injectFMU=1 \
version=my-version \
artifactPath=<AEPX4 Release>.auterionos
When you package an artifact, by default the FMU configuration files from
aepx4-developer-tools-2.x.x/fmu/config
will be merged with the FMU configuration inside the artifact. make package-update \
version=my-version \
artifactPath=<AEPX4 Release>.auterionos
If you want to force the injection by removing all other (pre-existing) configuration files inside the artifact, you can use the argument
forceInjectFMUConfiguration=1
when running the command make package-update
.make package-update \
forceInjectFMUConfiguration=1 \
version=my-version \
artifactPath=<AEPX4 Release>.auterionos
After packaging AuterionOS and including your customizations, it's time to flash the new .auterionos onto a Skynode. For developers there are two simple ways to do that locally:
Update the device with the following command using the auterion developer tools:
make update
By default, the command will use the image stored in
output/update.auterionos
, but you can use the artifactPath
argument to specify another artifact, for example:make update artifactPath=~/Download/artifact.auterionos