# AuterionOS Customization

Developers can modify many aspects of AuterionOS or the APX4 Autopilot, as well as write custom applications that run on AuterionOS devices and interact with other components of the drone such as external [payloads](/hardware-integration/skynode/payloads.md).

For the subsequent developer workflow guide you will need to install the Auterion OEM Tools which include various tools, scripts, files and examples to help you develop your own application for Skynode as well as to debug the system. The Auterion Developer Tools give you the possibility of applying several types of configurations on top of the official Auterion releases, such as:

* Override any Auterion Enterprise PX4 environment variables.
* Inject your own PX4 binaries and/or configuration
* Add your SSH key
* Overwrite the default root password
* Install your custom applications in AuterionOS

The most used command in the developer tools is going to be `make package-update`, which injects these custom configurations and applications into the official Auterion releases (.auterionos artifact). The result will be a new .auterionos file that can beither be shared and installed manually, or uploaded and deployed via Auterion Suite.

## Installation

Get started by following the installation instructions for the developer tools:

{% content-ref url="/pages/do96Q536NjGGPN2dv6dt" %}
[OEM Tools Installation](/hardware-integration/auterion-developer-tools/auterion-developer-tools-installation.md)
{% endcontent-ref %}

## Modifying AuterionOS and APX4

See the following sections for details on how to use the Auterion Developer Tools to modify AuterionOS or APX4:

{% content-ref url="/pages/1KQwjjWNhhCsULkd3UjR" %}
[Adding SSH keys](/hardware-integration/auterion-developer-tools/adding-ssh-keys.md)
{% endcontent-ref %}

{% content-ref url="/pages/SssKYjYlde5XfS2CIeL3" %}
[Changing the Root Password](/hardware-integration/auterion-developer-tools/changing-the-root-password.md)
{% endcontent-ref %}

{% content-ref url="/pages/wgC35yL4cQmiRxzHITZi" %}
[Modifying Environment Variables](/hardware-integration/auterion-developer-tools/modifying-environment-variables.md)
{% endcontent-ref %}

{% content-ref url="/pages/Bz71jKfI0Vz5biXEshw5" %}
[Pre-install Applications](/hardware-integration/auterion-developer-tools/pre-install-applications.md)
{% endcontent-ref %}

## Testing locally

The following page describes how to flash and test APX4 firmware on a local Skynode:

{% content-ref url="/pages/grRvC7nyMRR8Tk4TiNiB" %}
[Flashing PX4 Binary and Vehicle Config](/hardware-integration/auterionos-system-guide/flight-controller-firmware.md)
{% endcontent-ref %}

## Deployment

Once your modifications are in place, the auterion developer tools can be used to package a custom AuterionOS image. This is required for deploying the customized AuterionOS remotely for example:

{% content-ref url="/pages/QYSy3KTpC56Ykfu4dlC7" %}
[Packaging AuterionOS Image](/hardware-integration/auterionos-system-guide/packaging-auterionos-image.md)
{% endcontent-ref %}


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.auterion.com/hardware-integration/auterion-developer-tools.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
