Simplified doc-site generation
[AGL/documentation.git] / docs / 0_Getting_Started / 6_ Developing_an_Application / 2_Download_or_Build_Your_SDK_Installer.md
1 ---
2 edit_link: ''
3 title: Download or Build Your SDK Installer
4 origin_url: >-
5   https://raw.githubusercontent.com/automotive-grade-linux/docs-sources/master/docs/getting-started/app-workflow-sdk.md
6 ---
7
8 <!-- 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 -->
9
10 # 2. Download or Build Your SDK Installer #
11
12 The Software Development Kit (SDK) allows you to use your build host
13 to develop an application specific to your target hardware.
14 SDKs are installed onto your build host by running an SDK installer
15 file (``*.sh``).
16
17 You must either download a pre-built installer file for your SDK or
18 build an installer file.
19 If you are developing an application for a board supported by the AGL software, you might
20 want to just download a pre-built SDK installer file.
21 If your hardware is not supported by AGL, you need to build the SDK installer file.
22
23 ## Downloading a pre-built SDK Installer ##
24
25 For a look at the SDK installers for supported boards, go to the
26 [AGL Download Website](https://download.automotivelinux.org/AGL/release/).
27 From there, you can explore to find the SDK installer you want to download.
28 As an example, consider using a pre-built SDK to develop applications suited for a 64-bit
29 ARM-based board that you want to emulate using QEMU.
30 Furthermore, you are using the 8.0.0 "Halibut" release of the AGL software.
31 Follow these links:
32
33 ```
34 halibut -> 8.0.0 -> qemuarm64 -> deploy -> sdk
35 ```
36
37 From the list, you download the ``*.sh`` file, which is an installation script for the SDK.
38 Running the SDK installer script installs the SDK onto your build host.
39
40 SDK installation scripts have long names that reflect the platform specifics.
41 For example, the following file installs the SDK given the specifics earlier:
42
43 ``poky-agl-glibc-x86_64-agl-demo-platform-crosssdk-aarch64-toolchain-8.0.0.sh``
44
45 **NOTE:** If you want to know more about SDK installer file naming, which is a result of
46 BitBake and the Yocto Project, see the
47 "[Locating Pre-Built SDK Installers](https://yoctoproject.org/docs/2.4.4/sdk-manual/sdk-manual.html#sdk-locating-pre-built-sdk-installers)"
48 section in the Yocto Project documentation.
49
50 ## Building an SDK Installer ##
51
52 If you cannot find a pre-built SDK installer for your hardware, you need to build one.
53 In this case, use BitBake in a similar manner used to build the image.
54 See the
55 "[Building an image](./app-workflow-image.html#building-an-image)"
56 section for information on building an image with BitBake.
57
58 The only difference between building the image and the SDK installer
59 is the target you give BitBake on the command line and the final location of
60 the ``*.sh`` file.
61 Following is the command that you use to build the SDK installer for ``agl-demo-platform``:
62
63 ```
64 $ bitbake agl-demo-platform-crosssdk
65 ```
66
67 The SDK installer file (``*.sh``) is placed in the build directory.
68 Assuming your top-level workspace is ``~/workspace_agl``, here is an example location
69 and SDK installer file:
70
71 ```
72 ~/workspace_agl/build/tmp/deploy/sdk/poky-agl-glibc-x86_64-agl-demo-platform-crosssdk-aarch64-toolchain-8.0.0.sh
73 ```