In this section we'll explain the structure of the AirOs repo and the responsibility for each component.
The top level directories can be seen below. We highly recommend you do not touch any of the files in the DON'T TOUCH LAYERS unless you are completely aware of what you are doing.
├── app <----- YOUR APP REPO -----
├── build <----- IMAGE CONFIGURATION -----
├── meta-airbotics <----- AIRBOTICS LAYER -----
├── meta-openembedded <----- DON'T TOUCH LAYER -----
├── meta-security <----- DON'T TOUCH LAYER -----
├── meta-updater <----- DON'T TOUCH LAYER -----
├── meta-updater-qemux86-64 <----- DON'T TOUCH LAYER -----
├── meta-virtualization <----- DON'T TOUCH LAYER -----
└── poky <----- DON'T TOUCH LAYER -----
buildis the main working directory for the build process. It contains your builds configuration files as well as build artifacts and caches.
meta-airboticsis a yocto layer from Airbotics that can be used to copy artifacts, such as docker containers, systemd units and scripts from your application repositories into the built image.
appis the home of your application repository that you should submodule. It should also include an
airbotics.yamlin its top level. You can learn how to submodule your app in the integrate your application section.
You will spend most of your time in this directory, specifically the
It is here where you can define, what layers you would like to include in your build, for example you might add a board support package depending on what hardware you are targeting. The template already includes the core layers you'll need to have to get a basic image built and running.
├── bblayers.conf <----- DEFINE YOUR LAYERS -----
├── local.conf <----- DEFINE YOUR CONFIG -----
appdirectory contains your application repo as a submodule. This repo can also contain other submodules if you desire. This repo must include an
airbotics.yamlfile if you want the artifacts from your application repositories to be included as part of the built image.
appdirectory may look like this after you submodule your
app <----- YOUR SUBMODULED APP -----
├── airbotics.yaml <----- MUST BE INCLUDED -----
│ ├── CMakeLists.txt
│ ├── Dockerfile
│ ├── entry_script.sh
│ ├── package.xml
│ └── src
| └── container-run.sh