X(cross) Development System

Getting Started

Installing

Server

Client (user host machine)

Install package for debian distro type
# 'DISTRO' can be set to { xUbuntu_16.04, xUbuntu_16.10, xUbuntu_17.04, Debian_8.0, Debian_9.0}
seb@laptop ~$  export DISTRO="xUbuntu_16.04"

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

seb@laptop ~$  sudo apt-get update
seb@laptop ~$  sudo apt-get install agl-xds-agent
seb@laptop ~$  sudo apt-get install agl-xds-exec
seb@laptop ~$  sudo apt-get install agl-xds-gdb
Install package for openSUSE distro type
# DISTRO can be set to {openSUSE_Leap_42.2, openSUSE_Leap_42.3, openSUSE_Tumbleweed}
seb@laptop ~$  export DISTRO="openSUSE_Leap_42.2"

seb@laptop ~$  sudo zypper ar http://download.opensuse.org/repositories/isv:/LinuxAutomotive:/app-Development/${DISTRO}/isv:LinuxAutomotive:app-Development.repo

seb@laptop ~$  sudo zypper ref
seb@laptop ~$  sudo zypper install agl-xds-agent
seb@laptop ~$  sudo zypper install agl-xds-exec
seb@laptop ~$  sudo zypper install agl-xds-gdb

Starting

Server

Just start docker container knowing that xds-server is automatically started

Client (user host machine)

seb@laptop ~$  /opt/AGL/agl-xds-agent/xds-agent
# if XDS server is in a docker container running locally
seb@laptop ~$  xdg-open http://localhost:8000

# if XDS server is running on a server (local network)
seb@laptop ~$  xdg-open http://my-server-name-or-ip:8000

screenshots coming soon...


Notes for developers

xds-server

https://github.com/iotbzh/xds-server

Config

Usually $HOME/.xds/config.json See https://github.com/iotbzh/xds-server#configuration for content details.

Start / Stop

# Log into docker container
seb@laptop ~$  ssh -p 2222 devel@localhost

# Status XDS server:
devel@docker ~$  sudo systemctl status xds-server.service

# Stop XDS server
devel@docker ~$  sudo systemctl stop xds-server.service

# Start XDS server
devel@docker ~$  sudo systemctl start xds-server.service

# Get XDS server logs
devel@docker ~$  sudo journalctl --unit=xds-server.service --output=cat

Manually Start/Stop without systemd service

# Start XDS server
devel@docker ~$  $XDS_INSTALL_DIR/xds-server-start.sh

# Start XDS stop
devel@docker ~$  $XDS_INSTALL_DIR/xds-server-start.sh

Logs

Log verbosity is set by -l / --log <level> option or LOG_LEVEL env variable. Maximum log level is 'debug' : export LOG_LEVEL=debug

By default, logs are under /tmp/xds-server/logs/xds-server.log Location of logs may be by logDir of config.json file (see above Config section) or by --logfile option.

xds-agent

https://github.com/iotbzh/xds-agent

Install

From OBS / packages

See https://github.com/iotbzh/xds-exec#installing-xds-exec

Install manually binaries (Linux/Windows/MacOs)

See tarballs available on https://github.com/iotbzh/xds-agent/releases

wget https://github.com/iotbzh/xds-agent/releases/download/v0.0.1-alpha/xds-agent_linux-amd64-v0.0.1-alpha.zip
mkdir -p ~/opt/bin
unzip -j xds-agent_linux-amd64-v0.0.1-alpha.zip ~/opt/bin

Config

Usually $HOME/.xds/agent-config.json

See https://github.com/iotbzh/xds-agent#configuration

Logs

Log verbosity is set by -l / --log <level> option or LOG_LEVEL env variable. Maximum log level is 'debug' : export LOG_LEVEL=debug

Default on stdout, location of logs may be by logDir of agent-config.json file (see above Config section) or by --logfile option.

xds-exec

https://github.com/iotbzh/xds-exec

Install

From OBS / packages

See https://github.com/iotbzh/xds-exec#installing-xds-exec

Install manually binaries (Linux/Windows/MacOs)

See tarballs available on https://github.com/iotbzh/xds-exec/releases

wget https://github.com/iotbzh/xds-exec/releases/download/v1.0.2/xds-exec_linux-amd64-v1.0.2.zip
mkdir -p ~/opt/bin
unzip -j xds-exec_linux-amd64-v1.0.2.zip ~/opt/bin

Config

No real config, just settings to established connection with xds-server and select the project and sdk id. See https://github.com/iotbzh/xds-exec#using-xds-exec-from-command-line

Logs

Log verbosity is set by -l / --log <level> option or XDS_LOGLEVEL env variable. Maximum log level is 'debug' : export XDS_LOGLEVEL=debug

Log always output is always on stdout.

xds-gdb

https://github.com/iotbzh/xds-gdb

Install

From OBS / packages

See https://github.com/iotbzh/xds-gdb#installing-xds-gdb

Install manually binaries (Linux/Windows/MacOs)

See tarballs available on https://github.com/iotbzh/xds-gdb/releases

wget https://github.com/iotbzh/xds-gdb/releases/download/v0.0.2/xds-gdb_linux-amd64-v0.0.2_.zip
mkdir -p ~/opt/bin
unzip -j xds-gdb_linux-amd64-v0.0.2_.zip ~/opt/bin

Config

Either by env variables, or env config file or embedded in gdb init file (tag # :XDS-ENV: )

See https://github.com/iotbzh/xds-gdb#configuration

Logs

Log verbosity is set by XDS_LOGLEVEL env variable. Maximum log level is 'debug' : export XDS_LOGLEVEL=debug

Default log location is /tmp/xds-gdb.log but can be change with XDS_LOGFILE

Note that early log (IOW print before parsing of XDS_LOGLEVEL and XDS_LOGFILE) are always redirected into /tmp/xds-gdb.log.