summaryrefslogtreecommitdiffstats
path: root/docs/ATTIC/3_Developer_Guides/4_X(cross)_Development_System:_User's_Guide/1_Installing_XDS
diff options
context:
space:
mode:
Diffstat (limited to 'docs/ATTIC/3_Developer_Guides/4_X(cross)_Development_System:_User's_Guide/1_Installing_XDS ')
-rw-r--r--docs/ATTIC/3_Developer_Guides/4_X(cross)_Development_System:_User's_Guide/1_Installing_XDS /3.4.1.1_Server_Part.md459
-rw-r--r--docs/ATTIC/3_Developer_Guides/4_X(cross)_Development_System:_User's_Guide/1_Installing_XDS /3.4.1.2_Client_Part.md143
-rw-r--r--docs/ATTIC/3_Developer_Guides/4_X(cross)_Development_System:_User's_Guide/1_Installing_XDS /3.4.1.3_AGL_SDKs.md157
-rw-r--r--docs/ATTIC/3_Developer_Guides/4_X(cross)_Development_System:_User's_Guide/1_Installing_XDS /pictures/xds-block-chain.pngbin0 -> 48036 bytes
-rw-r--r--docs/ATTIC/3_Developer_Guides/4_X(cross)_Development_System:_User's_Guide/1_Installing_XDS /pictures/xds-dashboard-sdks-install.pngbin0 -> 207433 bytes
-rw-r--r--docs/ATTIC/3_Developer_Guides/4_X(cross)_Development_System:_User's_Guide/1_Installing_XDS /pictures/xds-dashboard-sdks-mgt.pngbin0 -> 159232 bytes
6 files changed, 759 insertions, 0 deletions
diff --git a/docs/ATTIC/3_Developer_Guides/4_X(cross)_Development_System:_User's_Guide/1_Installing_XDS /3.4.1.1_Server_Part.md b/docs/ATTIC/3_Developer_Guides/4_X(cross)_Development_System:_User's_Guide/1_Installing_XDS /3.4.1.1_Server_Part.md
new file mode 100644
index 0000000..6db9c98
--- /dev/null
+++ b/docs/ATTIC/3_Developer_Guides/4_X(cross)_Development_System:_User's_Guide/1_Installing_XDS /3.4.1.1_Server_Part.md
@@ -0,0 +1,459 @@
+# Server Part
+
+Depending on your situation, you must either install the
+XDS server part or you can skip installation:
+
+- If you are a developer and plan to connect to and use an existing `xds-server`
+ that is running on your local network (On-Premise) or is available from
+ the Cloud (SaaS), you do not need to install the server part.
+- If you are configured for Standalone or you are an administrator
+ that wants to install an On-Premise solution, you must install
+ the server part.
+
+This section describes three types of server part installations:
+
+| Install type | Supported OS | Section to refer |
+|--------------|--------------|------------------|
+| Container | Linux or MacOS | [Docker Container](#docker-container) |
+| Virtual Machine | Linux, MacOS or Windows | [VirtualBox Appliance](#virtualbox-appliance) |
+| Native | Linux | [Native](#native) |
+
+## Docker Container
+
+This section describes how to install the server part (`xds-server`)
+into a
+[Docker Container](https://www.docker.com/resources/what-container)
+on a Linux-based system or a MacOS system.
+
+### Prerequisites
+
+The system on which you are installing the server part
+must meet both the following prerequisites:
+
+- You must have Docker installed on the host machine.
+ For information on installing Docker, see the
+ [Docker documentation](https://docs.docker.com/engine/installation/).
+
+- Aside from having Docker installed, users must be part of a
+ docker
+ [group](https://www.linux.com/learn/intro-to-linux/2017/12/how-manage-users-groups-linux).
+ Enter the following command to display the system's groups and
+ then search for and list the Docker groups:
+
+ ```bash
+ groups | grep docker
+ ```
+
+ If the users that plan on using the container are not part of the
+ Docker group or the group does not exist, you must take steps.
+ See the [docker post install instructions](https://docs.docker.com/install/linux/linux-postinstall/)
+ for details on creating a Docker group and adding users.
+
+ Following is a summary of the key commands:
+
+ ```bash
+ sudo groupadd docker
+ sudo usermod -aG docker $USER
+ # Log out and re-login so the system can re-evaluate the group membership
+ # You might also need to start docker service manually
+
+ sudo service docker start
+ # or
+ sudo systemctl start docker
+ ```
+
+### Get the Container
+
+Use the following command to load the pre-built AGL
+SDK Docker image, which includes `xds-server`:
+
+```bash
+wget -O - http://iot.bzh/download/public/XDS/docker/docker_agl_worker-xds-latest.tar.xz | docker load
+```
+
+The following command lists and displays information about the image:
+
+```bash
+docker images "docker.automotivelinux.org/agl/worker-xds*"
+
+REPOSITORY TAG IMAGE ID CREATED SIZE
+docker.automotivelinux.org/agl/worker-xds 5.0 877979e534ff 3 hours ago 106MB
+```
+
+### Create and Start a New Container
+
+Running the following script creates a new Docker image and starts a new container:
+
+```bash
+# Get script
+wget -O xds-docker-create-container.sh 'https://gerrit.automotivelinux.org/gerrit/gitweb?p=src/xds/xds-server.git;a=blob_plain;f=scripts/xds-docker-create-container.sh;hb=master'
+
+# Create new XDS worker container (change the -id option value if you get a port conflict error)
+bash ./xds-docker-create-container.sh -id 0
+
+# Be sure the new container is running
+docker ps | grep worker-xds
+f67079db4339 docker.automotivelinux.org/agl/worker-xds:5.0 "/usr/bin/wait_for..." About a minute ago Up 34 seconds 0.0.0.0:8000->8000/tcp,0.0.0.0:10809->10809/tcp, 0.0.0.0:2222->22/tcp agl-xds-HOSTNAME-0-USERNAME
+```
+
+In the previous example, the container exposes following ports:
+
+| Port number | Description |
+|-------------|---------------------------------------------|
+| 8000 | `xds-server`: serve XDS webapp and REST API |
+| 2222 | ssh |
+
+This container also creates the following volumes, which are shared folders between
+inside and outside Docker:
+
+| Directory on host | Directory inside docker | Comment |
+|-------------------|-------------------------|---------|
+| $HOME/xds-workspace | /home/devel/xds-workspace | XDS projects workspace location|
+| $HOME/xds-workspace/.xdt_0 | /xdt | location to store SDKs |
+| $USER_VOLUME | $USER_VOLUME | user path, see `--volume` option of `xds-docker-create-container.sh` script |
+
+#### Optional Settings
+
+When you create the container, you can use optional settings.
+This section shows minimal settings to configure the container.
+For more detailed `xds-server` configuration information including settings, see the
+"[xds-server configuration](../part-2/1_xds-server/2_config.html)" section.
+
+- **`--volume`**
+
+ Adds a new shared directory using the `--volume` option (e.g.
+ used with Path-Mapping folder types):
+
+ ```bash
+ # Create new XDS worker container and share extra '$HOME/my-workspace' directory
+ bash ./xds-docker-create-container.sh --volume /my-workspace:$HOME/my-workspace
+ ```
+
+- **`--id`**
+
+ Changes the port used by Docker:
+
+ ```bash
+ # Create new XDS worker container with a different port number
+ ID=3
+ bash ./xds-docker-create-container.sh -id ${ID}
+
+ # Check that new container is running (in example below id has been set to 3)
+ docker ps | grep worker-xds
+ f67079db4339 docker.automotivelinux.org/agl/worker-xds:5.0 "/usr/bin/wait_for..." About a minute ago Up 34 seconds 0.0.0.0:2225->22/tcp, 0.0.0.0:8003->8000/tcp, 0.0.0.0:10892->10809/tcp agl-xds-3
+ ```
+
+ <!-- section-note -->
+ **WARNING:**
+ Changing the container id impacts the port number used to connect to `xds-server`.
+ Consequently, you might need to adjust the `xds-agent` configuration in order
+ to match the correct port number.
+
+ In the previous example where the container id is set to "3", the export
+ port number is `8003`.
+ In this case, you must define "url" in the `xds-server` configuration as follows:
+
+ ```json
+ {
+ ...
+ "xdsServers": [
+ {
+ "url": "http://localhost:8003"
+ }
+ ],
+ ...
+ }
+ ```
+
+ For more information, see the
+ [xds-agent configuration](../part-2/2_xds-agent/2_config.html) section.
+ <!-- end-section-note -->
+
+#### Manually Setup the Docker User ID
+
+If you are using path-mapping sharing type for your projects, you need to
+have the same user ID and group ID inside and outside Docker.
+
+By default, user, password and group names inside Docker are `devel`, `devel` and `1664`, respectively.
+
+<!-- section-note -->
+**NOTE:**
+
+If you used the `xds-docker-create-container.sh` script to create the XDS
+Docker container, the user uid/gid inside Docker has already been changed.
+<!-- end-section-note -->
+
+Use following commands to replace ID `1664` with your user and group ID:
+
+```bash
+# Set the Docker container name (e.g. agl-xds-xxx where xxx is USERNAME@MACHINENAME-IDX-NAME).
+export CONTAINER_NAME=agl-xds-seb@laptop-0-seb
+docker ps | grep -q ${CONTAINER_NAME} || echo "ERROR: No container name \"${CONTAINER_NAME}\" please set a valid CONTAINER_NAME before you continue"
+
+# Kill all processes of with the user ID `devel`. This includes the running xds-server.
+docker exec ${CONTAINER_NAME} bash -c "/bin/loginctl kill-user devel"
+
+# Change user and group IDs inside Docker to match your user and group IDs.
+docker exec ${CONTAINER_NAME} bash -c "usermod -u $(id -u) devel"
+docker exec ${CONTAINER_NAME} bash -c "groupmod -g $(id -g) devel"
+
+# Update file ownerships.
+docker exec ${CONTAINER_NAME} bash -c "chown -R devel:devel /home/devel /tmp/xds*"
+
+# Restart the devel autologin service.
+docker exec ${CONTAINER_NAME} bash -c "systemctl restart autologin"
+
+# Restart xds-server as a service. The ssh port 2222 might depend on your container ID.
+ssh -p 2222 devel@localhost -- "systemctl --user restart xds-server"
+```
+### Manually setup the Docker Password
+
+If you forget the password set for the container , you wont be able to ssh into the container and check on the files created.
+For such a time , you need to set up a new password for the container. Use the following commands to do just that:
+
+```bash
+# This will let you access the bash shell inside the container as root
+docker exec -it ${CONTAINER_NAME} /bin/bash
+
+# Change the password of the user (root or devel)
+passwd ${USER}
+```
+### Check if xds-server is Running (open XDS webapp)
+
+When the container starts up, `xds-server` automatically starts as a
+user service.
+
+If the container is running on your localhost, you can access a basic web
+application to check on `xds-server`:
+
+```bash
+xdg-open http://localhost:8000
+```
+
+From a shell prompt, you can check status, stop, and start `xds-server`
+using the following commands:
+
+```bash
+# Status XDS server
+ssh -p 2222 devel@localhost systemctl --user status xds-server.service
+
+# Stop XDS server
+ssh -p 2222 devel@localhost systemctl --user stop xds-server.service
+
+# Start XDS server
+ssh -p 2222 devel@localhost systemctl --user start xds-server.service
+
+# Get XDS server logs
+ssh -p 2222 devel@localhost journalctl --user --unit=xds-server.service --output=cat
+```
+
+`xds-server` should be up and running.
+You can now install AGL SDKs.
+See the
+"[AGL SDKs](install-sdk.html)" section for more information.
+
+## VirtualBox Appliance
+
+This section describes how to install the server part (`xds-server`)
+into a guest Virtual Machine (VM) supported by
+[VirtualBox](https://en.wikipedia.org/wiki/VirtualBox).
+VirtualBox allows the creation and management of guest virtual
+machines that run versions and derivations on many types of systems
+(e.g. Linux, Window, MacOS, and so forth).
+
+### Prerequisites
+
+The system on which you are installing the server part must have
+VirtualBox installed.
+For information on how to install VirtualBox, see the
+[VirtualBox documentation](https://www.virtualbox.org/wiki/Downloads).
+
+### Get the Appliance
+
+Use the following command to load the pre-built AGL SDK
+appliance image, which includes `xds-server`:
+
+```bash
+wget http://iot.bzh/download/public/XDS/appliance/xds-vm-debian9_latest.ova
+```
+
+### Clean the Old Appliance
+
+Only one appliance can exist on the machine.
+Consequently, you must remove any existing XDS appliance.
+Use the following commands:
+
+```bash
+# Get the virtual machine name
+VDS_VMNAME=$(VBoxManage list vms | grep xds-vm-debian | cut -d "\"" -f2)
+echo ${VDS_VMNAME}
+
+# Remove the old XDS appliance
+[ -n ${VDS_VMNAME} ] && VBoxManage controlvm ${VDS_VMNAME} poweroff
+[ -n ${VDS_VMNAME} ] && VBoxManage unregistervm ${VDS_VMNAME} --delete
+```
+
+### Create and Start a New Appliance
+
+You can create a new appliance by using a provided script or by
+using the VirtualBox GUI:
+
+```bash
+# Import image into VirtualBox
+VBoxManage import ./xds-vm-debian9_latest.ova
+
+# Check import result
+VDS_VMNAME=$(VBoxManage list vms | grep xds-vm-debian | cut -d "\"" -f2)
+echo ${VDS_VMNAME}
+```
+
+Add a share folder to the appliance.
+You must use "path-mapping sharing type for projects":
+
+```bash
+# Create local share folder
+mkdir -p $HOME/xds-workspace
+
+#Add share folder to appliance
+VBoxManage sharedfolder add ${VDS_VMNAME} --name XDS-workspace --hostpath $HOME/xds-workspace
+```
+
+Use the following command to start the appliance:
+
+```bash
+# Start XDS appliance
+[ -n ${VDS_VMNAME} ] && VBoxManage startvm ${VDS_VMNAME}
+```
+
+### Appliance Settings
+
+The image exposes the following network ports, which are NAT mode:
+
+- 8000 : `xds-server` to serve XDS basic web page
+- 2222 : ssh
+
+### Check if xds-server is Running
+
+When the container in the virtual machine starts up, the `xds-server` automatically starts.
+
+To check if `xds-server` is correctly installed and running, you can access the
+XDS basic web page and refer to the instructions:
+
+```bash
+# If the container/appliance is running on your local host
+# (else replace localhost with the name or the ip of the machine running the container)
+xdg-open http://localhost:8000
+```
+
+`xds-server` should be up and running.
+You can now install AGL SDKs.
+See the
+"[AGL SDKs](install-sdk.html)" section for more information.
+
+
+## Native
+
+This section describes how to install the server part (`xds-server`) 'natively'
+on a Linux-based system.
+
+<!-- section-note -->
+**NOTE:**
+Hosts running a Linux distribution are the only hosts that support native
+installation of the server part.
+<!-- end-section-note -->
+
+### Prerequisites
+
+The system on which you are installing the server part must have
+`python3` installed, which allows `xds-server` to manage AGL SDKs.
+
+#### Installing Packages for Debian
+
+Use the following commands to install packages for
+`xds-server` on Debian-based systems:
+
+```bash
+# Set 'DISTRO' (e.g. xUbuntu_16.04, xUbuntu_16.10, xUbuntu_17.04, Debian_8.0, Debian_9.0)
+export DISTRO="xUbuntu_16.04"
+
+# Set AGL_RELEASE (e.g. AGL_ElectricEel, AGL_FunkyFlounder, AGL_Master)
+export AGL_RELEASE="AGL_Master"
+
+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-server
+
+# Install python3
+sudo apt-get install python3
+```
+
+#### Install Packages for OpenSUSE
+
+Use the following commands to install packages for
+`xds-server` on OpenSUSE-based systems:
+
+```bash
+# Set DISTRO (openSUSE_Leap_42.3, openSUSE_Leap_15.0, openSUSE_Tumbleweed)
+export DISTRO="openSUSE_Leap_15.0"
+
+# Set AGL_RELEASE (AGL_ElectricEel, AGL_FunkyFlounder, AGL_Master)
+export AGL_RELEASE="AGL_Master"
+
+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-server
+
+# Install python3
+sudo zypper install python3
+```
+
+#### Configure the xds-server
+
+Configuring the `xds-server` occurs through a JSON configuration file
+named `server-config.json`.
+All fields in the JSON configuration file are optional.
+Consequently, you can skip this configuration step if you want to use
+the default settings in the JSON file.
+
+If you want to customize or alter the default configuration, see the
+"[Configuration chapter of xds-server](../part-2/1_xds-server/2_config.html)"
+section for details on the JSON configuration file.
+
+#### Start and Stop xds-server
+
+You can manage `xds-server` as a
+[systemd](https://en.wikipedia.org/wiki/Systemd) service by using
+the following commands:
+
+```bash
+# Status XDS server:
+systemctl --user status xds-server.service
+
+# Stop XDS server
+systemctl --user stop xds-server.service
+
+# Start XDS server
+systemctl --user start xds-server.service
+
+# Get XDS server logs
+systemctl --user --unit=xds-server.service --output=cat
+```
+
+To check if `xds-server` is correctly installed and running, you can access
+the XDS web interface through your browser:
+
+```bash
+xdg-open http://localhost:8000
+```
+
+Alternatively, you can use the following `curl` command:
+
+```bash
+curl http://localhost:8000/api/v1/version
+```
+
diff --git a/docs/ATTIC/3_Developer_Guides/4_X(cross)_Development_System:_User's_Guide/1_Installing_XDS /3.4.1.2_Client_Part.md b/docs/ATTIC/3_Developer_Guides/4_X(cross)_Development_System:_User's_Guide/1_Installing_XDS /3.4.1.2_Client_Part.md
new file mode 100644
index 0000000..b92cc0c
--- /dev/null
+++ b/docs/ATTIC/3_Developer_Guides/4_X(cross)_Development_System:_User's_Guide/1_Installing_XDS /3.4.1.2_Client_Part.md
@@ -0,0 +1,143 @@
+# Client Part
+
+The client part of the X(cross) Development System (XDS) is
+a set of XDS client tools that must run on your development host.
+
+The tools that comprise the client part are: `xds-agent`, `xds-cli`, and `xds-gdb`.
+Of the three, only `xds-agent`, whose source code can be found
+[here](https://gerrit.automotivelinux.org/gerrit/gitweb?p=src/xds/xds-agent.git)
+in Gerrit is required.
+
+<!-- section-note -->
+**NOTE:**
+
+The binary version is also available as standard Linux packages
+or as a portable Windows archive (i.e. Zip).
+<!-- end-section-note -->
+
+You should establish the following chain:
+
+- XDS Client: (i.e. `xds-cli` or XDS Dashboard).
+- XDS Agent: (`xds-agent`) running on your development host.
+- XDS Server: (`xds-server`) running on a remote server and/or in a container.
+
+HTTP and Websocket protocols establish exchanges between these three tools.
+
+You can change the default URL/port shown in the following illustration by using
+configuration files.
+
+![XDS blocks chain](./pictures/xds-block-chain.png)
+
+<!-- section-note -->
+**NOTE:**
+Installation of the XDS client tools `xds-cli` and `xds-gdb` is
+optional:
+
+- [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.
+<!-- end-section-note -->
+
+## Install Packages for Debian
+
+Use the following commands to install packages for the client part
+on Debian-based systems:
+
+```bash
+# Set DISTRO (e.g. xUbuntu_16.04, xUbuntu_16.10, xUbuntu_17.04, xUbuntu_18.04, Debian_8.0, Debian_9.0)
+export DISTRO="xUbuntu_18.04"
+
+# Set AGL_RELEASE (AGL_ElectricEel, AGL_FunkyFlounder, AGL_Master)
+export AGL_RELEASE="AGL_Master"
+
+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
+
+Use the following commands to install packages for the client part
+on OpenSUSE-based systems:
+
+```bash
+# Set DISTRO (openSUSE_Leap_42.3, openSUSE_Leap_15.0, openSUSE_Tumbleweed)
+export DISTRO="openSUSE_Leap_15.0"
+
+# Set AGL_RELEASE (AGL_ElectricEel, AGL_FunkyFlounder, AGL_Master)
+export AGL_RELEASE="AGL_Master"
+
+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 Packages for Other Platforms (e.g. Windows / MacOS)
+
+- Follow these steps to install `xds-agent`:
+
+ 1. Download the latest released tarball from the GitHub [Releases Page](https://github.com/iotbzh/xds-agent/releases).
+
+ 1. Unzip the tarball anywhere into your local drive (e.g. `/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 using the control panel or system settings.
+ Alternatively, you can `setx path "C:\AGK\xds\xds-agent;%path%"`
+
+- If you want to install optional tools, repeat the previous steps for each tool:
+ - `xds-cli`, which is used for command-line and IDE integration.
+ Downloaded from the ([released tarball link](https://github.com/iotbzh/xds-cli/releases)).
+ - `xds-gdb`, used for debugging applications.
+ Downloaded from the ([released tarball link](https://github.com/iotbzh/xds-gdb/releases)).
+
+## Start xds-agent
+
+As noted earlier, the `xds-agent` client tool must run on your local
+development host when you use XDS.
+Depending on your development host, use the following commands:
+
+- For a Linux-based development host, a user systemd service is provided
+ (i.e. `xds-agent.service`).
+
+ To start this service automatically when your host boots, enable
+ the service using the following command:
+
+ ```bash
+ # Enable xds-agent service at boot
+ systemctl --user enable xds-agent.service
+ ```
+
+ To start the XDS-agent service and display its log, use these
+ commands:
+
+ ```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
+ ```
+
+- For a MacOS-based host, use the following command to
+ manually start `xds-agent`:
+
+ ```batch
+ /opt/AGL/bin/xds-agent
+ ```
+
+- For a Windows-based host, use the following command to
+ manually start `xds-agent`:
+
+ ```batch
+ C:\AGL\xds\xds-agent\xds-agent.exe
+ ```
diff --git a/docs/ATTIC/3_Developer_Guides/4_X(cross)_Development_System:_User's_Guide/1_Installing_XDS /3.4.1.3_AGL_SDKs.md b/docs/ATTIC/3_Developer_Guides/4_X(cross)_Development_System:_User's_Guide/1_Installing_XDS /3.4.1.3_AGL_SDKs.md
new file mode 100644
index 0000000..18e41f1
--- /dev/null
+++ b/docs/ATTIC/3_Developer_Guides/4_X(cross)_Development_System:_User's_Guide/1_Installing_XDS /3.4.1.3_AGL_SDKs.md
@@ -0,0 +1,157 @@
+# 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.
+
+<!-- section-note -->
+**NOTES:**
+- In order to use the command line or the XDS Dashboard
+ to download an SDK Installer, you must
+ have the XDS UI 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.
+<!-- end-section-note -->
+
+## 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
+
+If for some reason you need to abort an ongoing installation, you can
+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
+```
+
+<!-- section-note -->
+**NOTE:**
+Installation based on a local SDK Installer is only supported when the
+SDK Installer is in the `$HOME/xds-workspace/sdks` directory.
+<!-- end-section-note -->
+
+### 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"}
+
+## Aborting an SDK Installation
+
+If for some reason you need to abort an ongoing SDK installation,
+you can do so by clicking the `CANCEL` button.
diff --git a/docs/ATTIC/3_Developer_Guides/4_X(cross)_Development_System:_User's_Guide/1_Installing_XDS /pictures/xds-block-chain.png b/docs/ATTIC/3_Developer_Guides/4_X(cross)_Development_System:_User's_Guide/1_Installing_XDS /pictures/xds-block-chain.png
new file mode 100644
index 0000000..0ecceb0
--- /dev/null
+++ b/docs/ATTIC/3_Developer_Guides/4_X(cross)_Development_System:_User's_Guide/1_Installing_XDS /pictures/xds-block-chain.png
Binary files differ
diff --git a/docs/ATTIC/3_Developer_Guides/4_X(cross)_Development_System:_User's_Guide/1_Installing_XDS /pictures/xds-dashboard-sdks-install.png b/docs/ATTIC/3_Developer_Guides/4_X(cross)_Development_System:_User's_Guide/1_Installing_XDS /pictures/xds-dashboard-sdks-install.png
new file mode 100644
index 0000000..20bc03e
--- /dev/null
+++ b/docs/ATTIC/3_Developer_Guides/4_X(cross)_Development_System:_User's_Guide/1_Installing_XDS /pictures/xds-dashboard-sdks-install.png
Binary files differ
diff --git a/docs/ATTIC/3_Developer_Guides/4_X(cross)_Development_System:_User's_Guide/1_Installing_XDS /pictures/xds-dashboard-sdks-mgt.png b/docs/ATTIC/3_Developer_Guides/4_X(cross)_Development_System:_User's_Guide/1_Installing_XDS /pictures/xds-dashboard-sdks-mgt.png
new file mode 100644
index 0000000..2a29151
--- /dev/null
+++ b/docs/ATTIC/3_Developer_Guides/4_X(cross)_Development_System:_User's_Guide/1_Installing_XDS /pictures/xds-dashboard-sdks-mgt.png
Binary files differ