summaryrefslogtreecommitdiffstats
path: root/docs/part-1/2_install-client.md
blob: 7d187e02a4f18cec742b822aa1245bcb1b62d9cf (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
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
# Installing XDS client tools

[xds-agent](https://gerrit.automotivelinux.org/gerrit/gitweb?p=src/xds/xds-agent.git) is a client tool that must run
on your machine (user / developer host) to be able to use XDS.

You should establish the following chain:

- XDS Client: (`xds-cli` or XDS Dashboard).
- XDS Agent: (`xds-agent`) running on your machine.
- XDS Server  (`xds-server`) running on a remote server and/or in a container.

Exchanges between these 3 tools are done though HTTP and Websocket protocols.

Default url/port mentioned in schema below can be change using config files.

![XDS blocks chain](./pictures/xds-block-chain.png)

Installation of other XDS client tools, such as `xds-cli` or `xds-gdb` is
optional and depends of what you want to do:

- [xds-cli](https://gerrit.automotivelinux.org/gerrit/gitweb?p=src/xds/xds-cli.git) : command line tool to used to interact with XDS (also used by IDE integration).
- [xds-gdb](https://gerrit.automotivelinux.org/gerrit/gitweb?p=src/xds/xds-gdb.git) : requested for debugging application.

## Install packages for debian distro type

```bash
# 'DISTRO' can be set to { xUbuntu_16.04, xUbuntu_16.10, xUbuntu_17.04, Debian_8.0, Debian_9.0 }
export DISTRO="xUbuntu_16.04"

# AGL_RELEASE can be set to {AGL_ElectricEel, AGL_FunkyFlounder, AGL_Master}
export AGL_RELEASE="AGL_FunkyFlounder"

wget -O - http://download.opensuse.org/repositories/isv:/LinuxAutomotive:/${AGL_RELEASE}/${DISTRO}/Release.key | sudo apt-key add -
sudo bash -c "cat >> /etc/apt/sources.list.d/AGL.list <<EOF
deb http://download.opensuse.org/repositories/isv:/LinuxAutomotive:/${AGL_RELEASE}/${DISTRO}/ ./
EOF"

sudo apt-get update
sudo apt-get install agl-xds-agent
sudo apt-get install agl-xds-cli
sudo apt-get install agl-xds-gdb
```

## Install packages for openSUSE distro type

```bash
# DISTRO can be set to {openSUSE_Leap_42.3, openSUSE_Leap_15.0, openSUSE_Tumbleweed}
export DISTRO="openSUSE_Leap_15.0"

# AGL_RELEASE can be set to {AGL_ElectricEel, AGL_FunkyFlounder, AGL_Master}
export AGL_RELEASE="AGL_FunkyFlounder"

sudo zypper ar http://download.opensuse.org/repositories/isv:/LinuxAutomotive:/${AGL_RELEASE}/${DISTRO}/isv:LinuxAutomotive:${AGL_RELEASE}.repo

sudo zypper ref
sudo zypper install agl-xds-agent
sudo zypper install agl-xds-cli
sudo zypper install agl-xds-gdb
```

## Install for other platforms (Windows / MacOS)

- Install `xds-agent`:

  1. Download the latest released tarball from github [releases page](https://github.com/iotbzh/xds-agent/releases).

  1. Then unzip the tarball any where into your local disk (for example: `/opt/AGL/xds` or `C:\AGL\xds`).

  1. Add binary to PATH:

      - MacOs: create the .bash_profile `nano .bash_profile` and add `export PATH="/opt/AGL/xds/xds-agent:$PATH`
      - Windows: change the system path via control panel or system settings or
    `setx path "C:\AGK\xds\xds-agent;%path%"`

- repeat the previous steps to install other tools depending of your needs:
  - `xds-cli` : requested for command line and IDE integration. ([released tarball link](https://github.com/iotbzh/xds-cli/releases)).
  - `xds-gdb` : requested for debugging application. ([released tarball link](https://github.com/iotbzh/xds-gdb/releases)).

## Start xds-agent

XDS-agent is a client tool that must run on your local / user development
machine when you use XDS.

For **Linux** distro, a user systemd service is provided, `xds-agent.service`.

To start it automatically at boot and you can enable it using following commands:

```bash
# Enable xds-agent service at boot
systemctl --user enable xds-agent.service
```

To start the XDS-agent service:

```bash
# Manually start xds-agent service
systemctl --user start xds-agent.service

# Get status and log of xds-agent service
systemctl --user status xds-agent.service
```

On **MacOS** (or Linux), you can start-it manually using following commands:

```batch
/opt/AGL/bin/xds-agent
```

On **Windows**, you can start-it manually using following commands:

```batch
C:\AGL\xds\xds-agent\xds-agent.exe
```