summaryrefslogtreecommitdiffstats
path: root/docs/0_Getting_Started/6_ Developing_an_Application /2_Download_or_Build_Your_SDK_Installer.md
blob: ef29bf2698206dd2a7789caa45ea383dbe1546cc (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
---
edit_link: ''
title: Download or Build Your SDK Installer
origin_url: >-
  https://raw.githubusercontent.com/automotive-grade-linux/docs-sources/master/docs/getting-started/app-workflow-sdk.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 -->

# 2. Download or Build Your SDK Installer #

The Software Development Kit (SDK) allows you to use your build host
to develop an application specific to your target hardware.
SDKs are installed onto your build host by running an SDK installer
file (``*.sh``).

You must either download a pre-built installer file for your SDK or
build an installer file.
If you are developing an application for a board supported by the AGL software, you might
want to just download a pre-built SDK installer file.
If your hardware is not supported by AGL, you need to build the SDK installer file.

## Downloading a pre-built SDK Installer ##

For a look at the SDK installers for supported boards, go to the
[AGL Download Website](https://download.automotivelinux.org/AGL/release/).
From there, you can explore to find the SDK installer you want to download.
As an example, consider using a pre-built SDK to develop applications suited for a 64-bit
ARM-based board that you want to emulate using QEMU.
Furthermore, you are using the 8.0.0 "Halibut" release of the AGL software.
Follow these links:

```
halibut -> 8.0.0 -> qemuarm64 -> deploy -> sdk
```

From the list, you download the ``*.sh`` file, which is an installation script for the SDK.
Running the SDK installer script installs the SDK onto your build host.

SDK installation scripts have long names that reflect the platform specifics.
For example, the following file installs the SDK given the specifics earlier:

``poky-agl-glibc-x86_64-agl-demo-platform-crosssdk-aarch64-toolchain-8.0.0.sh``

**NOTE:** If you want to know more about SDK installer file naming, which is a result of
BitBake and the Yocto Project, see the
"[Locating Pre-Built SDK Installers](https://yoctoproject.org/docs/2.4.4/sdk-manual/sdk-manual.html#sdk-locating-pre-built-sdk-installers)"
section in the Yocto Project documentation.

## Building an SDK Installer ##

If you cannot find a pre-built SDK installer for your hardware, you need to build one.
In this case, use BitBake in a similar manner used to build the image.
See the
"[Building an image](./app-workflow-image.html#building-an-image)"
section for information on building an image with BitBake.

The only difference between building the image and the SDK installer
is the target you give BitBake on the command line and the final location of
the ``*.sh`` file.
Following is the command that you use to build the SDK installer for ``agl-demo-platform``:

```
$ bitbake agl-demo-platform-crosssdk
```

The SDK installer file (``*.sh``) is placed in the build directory.
Assuming your top-level workspace is ``~/workspace_agl``, here is an example location
and SDK installer file:

```
~/workspace_agl/build/tmp/deploy/sdk/poky-agl-glibc-x86_64-agl-demo-platform-crosssdk-aarch64-toolchain-8.0.0.sh
```