---
-edit_link: ''
title: Initializing Your Build Environment
-origin_url: >-
- https://raw.githubusercontent.com/automotive-grade-linux/docs-sources/master/docs/getting-started/image-workflow-initialize-build-environment.md
---
-<!-- WARNING: This file is generated by fetch_docs.js using /home/boron/Documents/AGL/docs-webtemplate/site/_data/tocs/getting_started/master/image-development-workflow-getting-started-book.yml -->
-
-# 3. Initializing Your Build Environment
-
Part of the downloaded AGL software is a setup script that you must
run to initialize the build environment.
You can find this script here:
-```
-$AGL_TOP/meta-agl/scripts/aglsetup.sh
+```sh
+$AGL_TOP/master/meta-agl/scripts/aglsetup.sh
```
The script accepts many options that allow you to define build parameters such
as the target hardware (i.e. the machine), build directory, and so forth.
Use the following commands to see the available options and script syntax:
-```
-$ bash
-$ cd $AGL_TOP
+```sh
+$ cd $AGL_TOP/master
$ source meta-agl/scripts/aglsetup.sh -h
```
-## AGL Machines (= board support)
+## AGL Machines (board support)
Your target platform will be selected with the `-m` flag.
The MACHINE can be selected from the templates in `meta-agl/templates/machine/*`.
Following is a list of the available machines (level of support varies!):
-```
+```sh
Available machines:
[meta-agl]
bbe # BeagleBoneEnhanced
ebisu # Renesas RCar Ebisu
h3-salvator-x # Renesas RCar Salvator/H3
h3ulcb # Renesas RCar H3
+ h3ulcb-kf # Renesas RCar H3 w Kingfisher Board
h3ulcb-nogfx # Renesas RCar H3 w/o gfx blobs
hsdk # ARC HS
imx6qdlsabreauto # i.MX6 sabreauto
+ imx8mqevk # i.MX8 w etnaviv
+ imx8mqevk-viv # i.MX8 w vivante
intel-corei7-64 # x86-64 (Intel flavour)
+ m3-salvator-x # Renesas RCar Salvator/M3
m3ulcb # Renesas RCar M3
+ m3ulcb-kf # Renesas RCar M3 w Kingfisher Board
m3ulcb-nogfx # Renesas RCAR M3 w/o gfx blobs
nitrogen6x # i.MX6 nitrogen board
qemuarm # Qemu ARM
qemuarm64 # Qemu AArch 64 (ARM 64bit)
* qemux86-64 # Qemu x86-64
- raspberrypi3 # Raspberry Pi 3
raspberrypi4 # Raspberry Pi 4
-
```
## AGL Features
Following is a list of the available features:
-```
+```sh
Available features:
[meta-agl]
agl-all-features :( agl-demo agl-appfw-smack agl-hmi-framework agl-profile-graphical-qt5 agl-profile-graphical agl-pipewire agl-speech-framework agl-netboot )
agl-archiver
agl-buildstats
agl-ci
- agl-ci-change-features :( agl-demo agl-appfw-smack agl-hmi-framework agl-profile-graphical-qt5 agl-profile-graphical agl-pipewire agl-speech-framework agl-devel agl-netboot agl-pipewire agl-buildstats agl-ptest )
- agl-ci-change-features-nogfx :( agl-demo agl-appfw-smack agl-hmi-framework agl-profile-graphical-qt5 agl-profile-graphical agl-pipewire agl-speech-framework agl-devel agl-netboot agl-pipewire agl-buildstats agl-ptest )
+ agl-ci-change-features :( agl-demo agl-appfw-smack agl-hmi-framework agl-profile-graphical-qt5 agl-profile-graphical agl-pipewire agl-speech-framework agl-devel agl-netboot agl-pipewire agl-cloudproxy agl-buildstats agl-ptest )
+ agl-ci-change-features-nogfx :( agl-demo agl-appfw-smack agl-hmi-framework agl-profile-graphical-qt5 agl-profile-graphical agl-pipewire agl-speech-framework agl-devel agl-netboot agl-pipewire agl-cloudproxy agl-buildstats agl-ptest )
agl-ci-snapshot-features :( agl-demo agl-appfw-smack agl-hmi-framework agl-profile-graphical-qt5 agl-profile-graphical agl-pipewire agl-speech-framework agl-devel agl-netboot agl-archiver agl-pipewire agl-buildstats agl-ptest )
agl-ci-snapshot-features-nogfx :( agl-demo agl-appfw-smack agl-hmi-framework agl-profile-graphical-qt5 agl-profile-graphical agl-pipewire agl-speech-framework agl-devel agl-netboot agl-archiver agl-pipewire agl-buildstats agl-ptest )
- agl-compositor
agl-devel
- agl-egvirt
agl-fossdriver
agl-gplv2
agl-hmi-framework
agl-netboot
+ agl-pipewire
agl-profile-cluster :( agl-profile-graphical )
agl-profile-cluster-qt5 :( agl-profile-graphical-qt5 agl-profile-graphical )
agl-profile-graphical
+ agl-profile-graphical-html5 :( agl-profile-graphical )
agl-profile-graphical-qt5 :( agl-profile-graphical )
agl-profile-hud
agl-profile-telematics
agl-ptest
+ agl-sign-wgts
agl-sota
agl-virt
+ agl-virt-guest-xen
agl-virt-xen :( agl-virt )
+ agl-weston-remoting :( agl-profile-graphical )
[meta-agl-cluster-demo]
agl-cluster-demo :( agl-profile-cluster-qt5 agl-profile-graphical-qt5 agl-profile-graphical agl-hmi-framework )
agl-cluster-demo-preload
[meta-agl-demo]
- agl-cluster-demo-support :( agl-gstrecorder )
+ agl-cloudproxy
+ agl-cluster-demo-support :( agl-weston-remoting agl-profile-graphical )
agl-demo :( agl-appfw-smack agl-hmi-framework agl-profile-graphical-qt5 agl-profile-graphical agl-pipewire agl-speech-framework )
agl-demo-preload
agl-demo-soundmanager :( agl-appfw-smack agl-hmi-framework agl-profile-graphical-qt5 agl-profile-graphical agl-audio-soundmanager-framework )
- agl-sdl
[meta-agl-devel]
- agl-audio-soundmanager-framework
- agl-gstrecorder
- agl-oem-extra-libs
- agl-pipewire
- agl-profile-graphical-html5 :( agl-profile-graphical )
+ agl-jailhouse
agl-speech-framework
agl-voiceagent-alexa :( agl-speech-framework )
agl-voiceagent-alexa-wakeword :( agl-voiceagent-alexa agl-speech-framework )
[meta-agl-extra]
agl-localdev
- blsched
[meta-agl-telematics-demo]
agl-telematics-demo :( agl-profile-telematics )
```
* **agl-ci**: Flags used for Continuous Integration (CI).
Using this feature changes the value of the
- [`IMAGE_FSTYPES`](https://yoctoproject.org/docs/2.4.4/ref-manual/ref-manual.html#var-IMAGE_FSTYPES)
+ [`IMAGE_FSTYPES`](https://yoctoproject.org/docs/3.1.2/ref-manual/ref-manual.html#var-IMAGE_FSTYPES)
variable.
* **agl-ci-change-features**: Enables features for CI builds for Gerrit changes.
agl-profile-telematics
**NOTE:** For information on Package Groups, see the
- "[Customizing Images Using Custom Package Groups](https://www.yoctoproject.org/docs/2.4.4/dev-manual/dev-manual.html#usingpoky-extend-customimage-customtasks)"
+ "[Customizing Images Using Custom Package Groups](https://www.yoctoproject.org/docs/3.1.2/dev-manual/dev-manual.html#usingpoky-extend-customimage-customtasks)"
section in the Yocto Project Development Tasks Manual.
You can also find general information about Layers in the
- "[Layers](https://www.yoctoproject.org/docs/2.4.4/dev-manual/dev-manual.html#yocto-project-layers)"
+ "[Layers](https://www.yoctoproject.org/docs/3.1.2/dev-manual/dev-manual.html#yocto-project-layers)"
section in that same manual.
-->
* **agl-ptest**: Enables
- [Ptest](https://yoctoproject.org/docs/2.4.4/dev-manual/dev-manual.html#testing-packages-with-ptest)
+ [Ptest](https://yoctoproject.org/docs/3.1.2/dev-manual/dev-manual.html#testing-packages-with-ptest)
as part of the build.
* **agl-sota**: Enables Software Over-the-Air (SOTA) components and dependencies.
for the machine, and chooses the "agl-demo" feature, which also includes the
"agl-appfw-smack", "agl-devel", and "agl-hmi-framework" features:
-```
-$ source meta-agl/scripts/aglsetup.sh -m qemux86-64 agl-demo agl-devel
+```sh
+$ source meta-agl/scripts/aglsetup.sh -m qemux86-64 -b qemux86-64 agl-demo agl-devel
aglsetup.sh: Starting
Generating configuration files:
Build dir: /home/scottrif/workspace_agl/build
OK
Generating setup file: /home/scottrif/workspace_agl/build/agl-init-build-env ... OK
aglsetup.sh: Done
-
Shell environment set up for builds.
-
You can now run 'bitbake target'
-
Common targets are:
- meta-agl: (core system)
agl-image-minimal
agl-demo-platform (* default demo target)
agl-demo-platform-qa
agl-demo-platform-crosssdk
-
agl-demo-platform-html5
-$
```
Running the script creates the Build Directory if it does not already exist.
-For this example, the Build Directory is "$AGL_TOP/workspace_agl/build".
+The default Build Directory is `$AGL_TOP/<release-branch-name>/build`, and the nomenclature to be used throughout this doc is going to be `$AGL_TOP/<release-branch-name>/<build-dir>`
+For this example, the Build Directory is `$AGL_TOP/master/qemux86-64`.
The script's output also indicates the machine and AGL features selected for the build.
documentation set.
Here are some references if you want to dig into configuration further:
-* [Customizing Images Using local.conf](https://yoctoproject.org/docs/2.4.4/dev-manual/dev-manual.html#usingpoky-extend-customimage-localconf)
-* [Local](https://yoctoproject.org/docs/2.4.4/ref-manual/ref-manual.html#ref-varlocality-config-local)
-* [build/conf/local.conf](https://yoctoproject.org/docs/2.4.4/ref-manual/ref-manual.html#structure-build-conf-local.conf)
-* [build/conf/bblayers.conf](https://yoctoproject.org/docs/2.4.4/ref-manual/ref-manual.html#structure-build-conf-bblayers.conf)
-* [BBLAYERS](https://yoctoproject.org/docs/2.4.4/ref-manual/ref-manual.html#var-BBLAYERS)
-* [User Configuration](https://yoctoproject.org/docs/2.4.4/ref-manual/ref-manual.html#user-configuration)
-* [Enabling Your Layer](https://yoctoproject.org/docs/2.4.4/dev-manual/dev-manual.html#enabling-your-layer)
+* [Customizing Images Using local.conf](https://yoctoproject.org/docs/3.1.2/dev-manual/dev-manual.html#usingpoky-extend-customimage-localconf)
+* [Local](https://yoctoproject.org/docs/3.1.2/ref-manual/ref-manual.html#ref-varlocality-config-local)
+* [build/conf/local.conf](https://yoctoproject.org/docs/3.1.2/ref-manual/ref-manual.html#structure-build-conf-local.conf)
+* [build/conf/bblayers.conf](https://yoctoproject.org/docs/3.1.2/ref-manual/ref-manual.html#structure-build-conf-bblayers.conf)
+* [BBLAYERS](https://yoctoproject.org/docs/3.1.2/ref-manual/ref-manual.html#var-BBLAYERS)
+* [User Configuration](https://yoctoproject.org/docs/3.1.2/ref-manual/ref-manual.html#user-configuration)
+* [Enabling Your Layer](https://yoctoproject.org/docs/3.1.2/dev-manual/dev-manual.html#enabling-your-layer)