summaryrefslogtreecommitdiffstats
path: root/docs/part-1/3_install-sdks.md
blob: 9c8b24500ac6b38933a424398bafaaf82c90f3f5 (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
# Installing AGL SDKs

To build your AGL services or AGL applications using XDS you must install a SDK
matching the target/board you want to use. A SDK is a package that includes all
tools you need to cross-build and cross-debug your service/application.

You can generate the AGL SDK for the board you want to use or you can download
a pre-packaged AGL SDK.

## Installing SDK cross-toolchain

`xds-server` uses SDK cross-toolchain installed into directory pointed by
`sdkRootDir` setting (see `xds-server` configuration chapter for more details).

For now, you can only install SDK using a bash script but in a near future you
will be able to manage SDKs using XDS Dashboard.

So to install a SDK, use provided `install-agl-sdks` script:

```bash
# Optional - Log into the container (only necessary when xds-server is running within a docker container)
seb@laptop ~$ ssh -p 2222 devel@localhost

# For example, Install ARM64 SDK (automatic download)
devel@docker ~$ sudo /opt/AGL/xds/server/xds-utils/install-agl-sdks.sh --arch aarch64
```

You may also want to install an SDK that you built manually (see [Part 1 - SDK-compilation-installation](http://docs.automotivelinux.org/docs/devguides/en/dev/reference/sdk-devkit/docs/part-1/1_7-SDK-compilation-installation.html))

```bash
# Optional - Log into the container (only necessary when xds-server is running within a docker container)
seb@laptop ~$ ssh -p 2222 devel@localhost

# Install Intel corei7-64 SDK (using an SDK tarball that has been built or downloaded manually)
devel@docker ~$ sudo /opt/AGL/xds/server/xds-utils/install-agl-sdks.sh --arch corei7-64 --file /tmp/poky-agl-glibc-x86_64-agl-demo-platform-crosssdk-corei7-64-toolchain-
4.0.1.sh
```

<!-- warning -->
>**Warning:** due to some limitation, you need for now to restart `xds-server` in
order to make new installed SDK visible/available.
> ```bash
> seb@laptop ~$  ssh -p 2222 devel@localhost
> devel@docker ~$  systemctl --user restart xds-server.service
> ```
<!-- endwarning -->
span class="n">are of the form # (from pseudo.log): # # path mismatch [27 links]: ino 19366408 db 'NAMELESS FILE' req 'build/tmp/work-shared/h3ulcb/kernel-source/include'. # # See the commit messages in poky commits 4e7c211 and 3b7f2c6 and the # wiki page at: # # https://wiki.yoctoproject.org/wiki/Pseudo_Abort # # for details on the pseudo change. These can potentially be moved # to the recipes in the BSP, or removed if the recipes are changed to # shift the module headers and symbols to their dev packages. # PSEUDO_IGNORE_PATHS:append:pn-kernel-module-avb-mch = ",${KERNELSRC}" PSEUDO_IGNORE_PATHS:append:pn-kernel-module-avb-mse = ",${KERNELSRC}" PSEUDO_IGNORE_PATHS:append:pn-kernel-module-avb-streaming = ",${KERNELSRC}" PSEUDO_IGNORE_PATHS:append:pn-kernel-module-scu-src = ",${KERNELSRC}" PSEUDO_IGNORE_PATHS:append:pn-kernel-module-ssp = ",${KERNELSRC}" PSEUDO_IGNORE_PATHS:append:pn-kernel-module-tddmac = ",${KERNELSRC}" PSEUDO_IGNORE_PATHS:append:pn-kernel-module-tsif = ",${KERNELSRC}" PSEUDO_IGNORE_PATHS:append:pn-kernel-module-mmngr = ",${KERNELSRC}" PSEUDO_IGNORE_PATHS:append:pn-kernel-module-mmngrbuf = ",${KERNELSRC}" PSEUDO_IGNORE_PATHS:append:pn-kernel-module-qos = ",${KERNELSRC}" PSEUDO_IGNORE_PATHS:append:pn-kernel-module-vsp2driver = ",${KERNELSRC}" PSEUDO_IGNORE_PATHS:append:pn-kernel-module-vspmif = ",${KERNELSRC}" PSEUDO_IGNORE_PATHS:append:pn-kernel-module-vspm = ",${KERNELSRC}" # Mask out base-files and systemd bbappends to avoid changing systemd-tmpfiles # behavior, see SPEC-4256 for a more involved explanation. BBMASK += "meta-rcar-gen3/recipes-core/base-files/ meta-rcar-gen3/recipes-core/systemd/" # Mask out cogl bbappend to avoid meta-gnome dependency BBMASK += "meta-rcar-gen3/recipes-graphics/cogl/cogl-1.0_1.%.bbappend" # Provide default value that avoids errors from a new packaging QA # check with respect to packagegroups depending on versioned library # packages needing to be machine-specific. # # Note that this needs to be done here in global configuration space as # opposed to in a bbappend because the value needs to be set before the # packagegroup bbclass is inherited. This can be removed when upstream # is fixed to add the required PACKAGE_ARCH = "${MACHINE_ARCH}". PACKAGE_ARCH:pn-packagegroup-multimedia-libs = "${MACHINE_ARCH}"