# AGL SDKs To build your AGL services or AGL applications using XDS, you must install a Software Development Kit (SDK) that matches your target/board. An SDK is a package that includes all the tools you need to cross-build and cross-debug your service or application. You install an SDK by running the SDK Installer. You can build an AGL SDK Installer for your board or you can download a pre-built installer. This section describes how you can download a pre-built SDK Installer using either the command line or the XDS Dashboard. For information on how to build an SDK Installer, see the "[Download or Build Your SDK Installer](../../../../getting_started/reference/getting-started/app-workflow-sdk.html)" section. **NOTES:** - In order to use the command line or the XDS Dashboard to download an SDK Installer, you must have the XDS Client set up in your toolchain (i.e. 'xds-cli'). If you did not install 'xds-cli', see the "[Client Part](client-part.html)" section for instruction on how to install XDS UI. - See the "[xds-server](../part-2/1_xds-server/0_abstract.html)" chapter for more information on SDK management. ## Command Line Operations This section describes how to download and install an SDK, abort an installation, install an SDK from a local directory, and view all installed SDKs. ### Download and Install an SDK Using the Command Line Use the following commands to choose and install a pre-built SDK Installer: ```bash # List all available SDKs xds-cli sdks ls -a List of available SDKs: ID NAME STATUS VERSION ARCH ec15afe0 AGL-release-eel-4.99.4-raspberrypi3 Not Installed 4.99.4 armv7vehf-neon-vfpv4 944d2d5a AGL-snapshots-master-latest-intel-corei7-64 Not Installed 4.99.3+snapshot corei7-64 cf3a4365 AGL-release-dab-4.0.2-qemux86-64 Not Installed 4.0.2 corei7-64 d65fe750 AGL-release-eel-latest-qemux86-64 Not Installed 4.99.3 corei7-64 a0ae663d poky-agl-corei7-64-3.99.1+snapshot Installed 3.99.1+snapshot corei7-64 87f0400b AGL-release-dab-3.99.3-m3ulcb-nogfx Installed 3.99.3 aarch64 8c2f2841 AGL-release-dab-4.0.2-dragonboard-410c Not Installed 4.0.2 aarch64 ... # Download and Install an SDK xds-cli sdks install d65fe750 Installation of 'AGL-release-eel-latest-qemux86-64' SDK successfully started. Downloading poky-agl-glibc-x86_64-agl-demo-platform-crosssdk-corei7-64-toolchain-4.99.5.sh ... --2018-01-02 11:22:23-- https://download.automotivelinux.org/AGL/release/eel/latest/qemux86-64/deploy/sdk/poky-agl-glibc-x86_64-agl-demo-platform-crosssdk-corei7-64-toolchain-4.99.5.sh Resolving download.automotivelinux.org (download.automotivelinux.org)... 199.19.213.77 Connecting to download.automotivelinux.org (download.automotivelinux.org)|199.19.213.77|:443... connected. HTTP request sent, awaiting response... 200 OK Length: 665996704 (635M) [application/x-sh] Saving to: ‘/tmp/tmp.wuQzLdImCS/poky-agl-glibc-x86_64-agl-demo-platform-crosssdk-corei7-64-toolchain-4.99.5.sh’ 0K .......... .......... .......... .......... .......... 0% 82,7K 2h11m 50K .......... .......... .......... .......... .......... 0% 89,1K 2h6m 100K .......... .......... .......... .......... .......... 0% 82,0K 2h8m ... 50300K .......... .......... .......... .......... .......... 99% 2,15M 0s 650350K .......... .......... .......... ....... 100% 4,04M=10m35s 2018-01-02 12:17:06 (1024 KB/s) - ‘/tmp/tmp.CWyEj3z76Q/poky-agl-glibc-x86_64-agl-demo-platform-crosssdk-corei7-64-toolchain-4.99.5.sh’ saved [665996704/665996704] Automotive Grade Linux SDK installer version 4.99.5 =================================================== You are about to install the SDK to "/xdt/sdk/poky-agl/4.99.5/corei7-64". Proceed[Y/n]? Y Extracting SDK....................................................................................................................done Setting it up...done SDK has been successfully set up and is ready to be used. Each time you wish to use the SDK in a new shell session, you need to source the environment setup script e.g. $ . /xdt/sdk/poky-agl/4.99.5/corei7-64/environment-setup-corei7-64-agl-linux SDK ID d65fe750-d3a7-38f5-83d8-3d3806054f8d successfully installed. ``` ### Abort an Installation that is in Progress To abort an ongoing installation (i.e. the `xds-cli sdks install d65fe750` in this example), use the `ctrl-C` key sequence. `Ctrl-C` only stops the XDS Client (`xds-cli`). The download or installation process running in the background is not stopped. In such cases, the `xds-cli sdks ls` command results in an `Installing` appearing in the STATUS column for all running installations. If for some reason you need to abort, use the `sdks abort` command: ```bash xds-cli sdks abort -id d65fe750 ``` ### Install an SDK Using a Local SDK Package or File If you have an SDK Installer that is already local to your system, you can use the command line to install it from your local directory: ```bash xds-cli sdks install --file $HOME/xds-workspace/sdks/poky-agl-glibc-x86_64-agl-demo-platform-crosssdk-corei7-64-toolchain-4.99.5.sh ``` **NOTE:** Installation based on a local SDK Installer is only supported when the SDK Installer is in the `$HOME/xds-workspace/sdks` directory. ### List Installed SDKs To list the installed SDKs, use the following command: ```bash xds-cli sdks ls List of installed SDKs: ID NAME STATUS VERSION ARCH e45ac787 AGL-corei7-64-4.99.5+snapshot Installed 4.99.5 x86_64 d65fe750 AGL-release-eel-latest-qemux86-64 Installed 4.99.3 corei7-64 ``` ## Install an SDK Using the XDS Dashboard Follow these steps to locate, download, and install an SDK using the XDS Dashboard: 1. Open the XDS Dashboard in a Web Browser and select `SDKs` in left-hand menu. 2. Switch to `SDKs MANAGEMENT` view. Following is an example: ![](../part-1/pictures/xds-dashboard-sdks-mgt.png){:: style="margin:auto; display:flex"} 3. Use filter boxes to find the SDK you want to install. 4. Click on the "plus" icon in the "Actions" column to start the installation. The SDK Installer downloads and the installation process begins. In can take several minutes for the installation to complete. Following is an example of the output: ![](../part-1/pictures/xds-dashboard-sdks-install.png){:: style="margin:auto; display:flex"} **NOTE:**<\br> If for some reason you need to abort an ongoing SDK installation, you can do so by clicking the `CANCEL` button.