diff options
Diffstat (limited to 'docs/part-1')
-rw-r--r-- | docs/part-1/0_Abstract.md | 2 | ||||
-rw-r--r-- | docs/part-1/1_install-client.md | 32 | ||||
-rw-r--r-- | docs/part-1/2_install-xds-server.md | 60 | ||||
-rw-r--r-- | docs/part-1/3_install-sdks.md | 102 |
4 files changed, 121 insertions, 75 deletions
diff --git a/docs/part-1/0_Abstract.md b/docs/part-1/0_Abstract.md index 7badf42..8def883 100644 --- a/docs/part-1/0_Abstract.md +++ b/docs/part-1/0_Abstract.md @@ -8,7 +8,7 @@ for cross development with near-zero installation. This documentation is available : - online: [http://docs.automotivelinux.org/docs/devguides/en/dev/#xcross-development-system-user's-guide](http://docs.automotivelinux.org/docs/devguides/en/dev/#xcross-development-system-user's-guide) -- PDF file: [http://iot.bzh/download/public/2017/XDS/docs/XDS_UsersGuide.pdf](http://iot.bzh/download/public/2017/XDS/docs/XDS_UsersGuide.pdf) +- PDF file: [http://iot.bzh/download/public/XDS/docs/XDS_UsersGuide.pdf](http://iot.bzh/download/public/XDS/docs/XDS_UsersGuide.pdf) The first goal of XDS is to provide a multi-platform cross development tool with near-zero installation. diff --git a/docs/part-1/1_install-client.md b/docs/part-1/1_install-client.md index 7d0299f..304b46a 100644 --- a/docs/part-1/1_install-client.md +++ b/docs/part-1/1_install-client.md @@ -25,31 +25,31 @@ optional and depends of what you want to do : ```bash # '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" +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 +wget -O - http://download.opensuse.org/repositories/isv:/LinuxAutomotive:/app-Development/${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:/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-cli -seb@laptop ~$ sudo apt-get install agl-xds-gdb +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.2, openSUSE_Leap_42.3, openSUSE_Tumbleweed} -seb@laptop ~$ export DISTRO="openSUSE_Leap_42.2" +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 +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-cli -seb@laptop ~$ sudo zypper install agl-xds-gdb +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) @@ -81,11 +81,11 @@ immediately using following commands: ```bash # Enable xds-agent service at boot -seb@laptop ~$ systemctl --user enable xds-agent.service +systemctl --user enable xds-agent.service # Manually start xds-agent service -seb@laptop ~$ systemctl --user start xds-agent.service +systemctl --user start xds-agent.service # Get status and log of xds-agent service -seb@laptop ~$ systemctl --user status xds-agent.service +systemctl --user status xds-agent.service ``` diff --git a/docs/part-1/2_install-xds-server.md b/docs/part-1/2_install-xds-server.md index c992f35..6c9dad7 100644 --- a/docs/part-1/2_install-xds-server.md +++ b/docs/part-1/2_install-xds-server.md @@ -14,7 +14,7 @@ Several installation types are supported : | Install type | Supported OS | Section to refer | |--------------|--------------|------------------| | Container | Linux or MacOS | [see Installation based on Docker container](#installation-based-on-docker-container) | -| Virtual Machine | Linux, MacOS or Windows | [see Installation based on VirtualBox appliance](#installation-based-on-virtualbox-appliance) | +| Virtual Machine | Linux, MacOS or Windows | [see Installation based on VirtualBox appliance](#installation-based-on-virtual-machine-appliance) | | Native | Linux | [see Native installation](#native-installation) | ## Installation based on Docker container @@ -28,14 +28,14 @@ Docker is installed on the host machine, please refer to [Docker documentation]( Load the pre-build AGL SDK docker image including `xds-server`: ```bash -seb@laptop ~$ wget -O - http://iot.bzh/download/public/2017/XDS/docker/docker_agl_worker-xds-latest.tar.xz | docker load +wget -O - http://iot.bzh/download/public/XDS/docker/docker_agl_worker-xds-latest.tar.xz | docker load ``` You should get `docker.automotivelinux.org/agl/worker-xds:X.Y` image ```bash # List image that we just load -seb@laptop ~$ docker images "docker.automotivelinux.org/agl/worker-xds*" +docker images "docker.automotivelinux.org/agl/worker-xds*" docker.automotivelinux.org/agl/worker-xds 4.0 786d65b2792c 6 days ago 654MB ``` @@ -46,13 +46,13 @@ Use provided script to create a new docker container and start it: ```bash # Get script -seb@laptop ~$ wget https://raw.githubusercontent.com/iotbzh/xds-server/master/scripts/xds-docker-create-container.sh +wget https://raw.githubusercontent.com/iotbzh/xds-server/master/scripts/xds-docker-create-container.sh # Create new XDS worker container -seb@laptop ~$ bash ./xds-docker-create-container.sh +bash ./xds-docker-create-container.sh # Check that new container is running -seb@laptop ~$ docker ps | grep worker-xds +docker ps | grep worker-xds b985d81af40c docker.automotivelinux.org/agl/worker-xds:3.99.1 "/usr/bin/wait_for..." 6 days ago Up 4 hours 0.0.0.0:8000->8000/tcp, 0.0.0.0:69->69/udp, 0.0.0.0:10809->10809/tcp, 0.0.0.0:2222->22/tcp agl-xds-seb@laptop-0-seb ``` @@ -62,7 +62,7 @@ to use for example with Path-Mapping folder type. ```bash # Create new XDS worker container and share extra '$HOME/my-workspace' directory -seb@laptop ~$ bash ./xds-docker-create-container.sh --volume /my-workspace:$HOME/my-workspace +bash ./xds-docker-create-container.sh --volume /my-workspace:$HOME/my-workspace ``` ### Check if xds-server is running @@ -75,7 +75,7 @@ web page that gives you some instructions: ```bash # if container is running on your local host # (else replace localhost by the name or the ip of the machine running the container) -seb@laptop ~$ xdg-open http://localhost:8000 +xdg-open http://localhost:8000 ``` `xds-server` is now up and running, you can now install AGL SDKs, please refer @@ -99,7 +99,7 @@ inside and outside docker): | $USER_VOLUME | $USER_VOLUME | user path, see `--volume` option of `xds-docker-create-container.sh` script | <!-- note --> -Please refer to [part 2 - xds-server](../part-2/1_xds-server.md) documentation +Please refer to [part 2 - xds-server](../part-2/1_xds-server.md#sdk-cross-toolchain-management) documentation for additional info. <!-- endnote --> @@ -123,20 +123,20 @@ wget http://iot.bzh/download/public/XDS/appliance/xds-vm-debian9_latest.ova You must have one and one xds appliance only. -So, at first remove the oldest xds appliance. +So, first remove the oldest xds appliance if needed. ```bash -#Get the virtual machine name +# Get the virtual machine name VDS_VMNAME=$(VBoxManage list vms | grep xds-vm-debian | cut -d "\"" -f2) echo ${VDS_VMNAME} -#Remove old XDS appliance +# Remove old XDS appliance [ -n ${VDS_VMNAME} ] && VBoxManage unregistervm ${VDS_VMNAME} --delete ``` ### Create and start a new appliance -Use provided script to create a new appliance or you can use the UI of VirtualBox: +Used provided script to create a new appliance or you can use VirtualBox GUI: ```bash # Import image into VirtualBox @@ -152,7 +152,7 @@ echo ${VDS_VMNAME} ### Appliance settings -This container (ID=0) exposes following ports: +This image exposes following network ports (NAT mode): - 8000 : `xds-server` to serve XDS basic web page - 69 : TFTP @@ -167,7 +167,7 @@ To check if xds-server is correctly install and running, you can access the basi ```bash # if container/appliance is running on your local host # (else replace localhost by the name or the ip of the machine running the container) -seb@laptop ~$ xdg-open http://localhost:8000 +xdg-open http://localhost:8000 ``` `xds-server` is now up and running, you can now install AGL SDKs, please refer @@ -183,27 +183,27 @@ installation ! ```bash # '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" +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 +wget -O - http://download.opensuse.org/repositories/isv:/LinuxAutomotive:/app-Development/${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:/app-Development/${DISTRO}/ ./ EOF" -seb@laptop ~$ sudo apt-get update -seb@laptop ~$ sudo apt-get install agl-xds-server +sudo apt-get update +sudo apt-get install agl-xds-server ``` ### Install packages for openSUSE distro type ```bash # DISTRO can be set to {openSUSE_Leap_42.2, openSUSE_Leap_42.3, openSUSE_Tumbleweed} -seb@laptop ~$ export DISTRO="openSUSE_Leap_42.2" +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 +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-server +sudo zypper ref +sudo zypper install agl-xds-server ``` ### Configure xds-server @@ -261,27 +261,27 @@ All fields are optional and example below corresponds to the default values: ```bash # Status XDS server: -seb@laptop ~$ systemctl --user status xds-server.service +systemctl --user status xds-server.service # Stop XDS server -seb@laptop ~$ systemctl --user stop xds-server.service +systemctl --user stop xds-server.service # Start XDS server -seb@laptop ~$ systemctl --user start xds-server.service +systemctl --user start xds-server.service # Get XDS server logs -seb@laptop ~$ systemctl --user --unit=xds-server.service --output=cat +systemctl --user --unit=xds-server.service --output=cat ``` To check if xds-server is correctly install and running, you can access the web interface, using a web browser : ```bash -seb@laptop ~$ xdg-open http://localhost:8000 +xdg-open http://localhost:8000 ``` or get the current version using the following curl command: ```bash -seb@laptop ~$ curl http://localhost:8000/api/v1/version +curl http://localhost:8000/api/v1/version ``` diff --git a/docs/part-1/3_install-sdks.md b/docs/part-1/3_install-sdks.md index e1cdd07..80ee010 100644 --- a/docs/part-1/3_install-sdks.md +++ b/docs/part-1/3_install-sdks.md @@ -4,45 +4,91 @@ 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 +You can generate AGL SDK for the board you want to use or you can download a pre-packaged AGL SDK. -## Installing SDK cross-toolchain +## Install a new SDK from command line -`xds-server` uses SDK cross-toolchain installed into directory pointed by -`sdkRootDir` setting (see `xds-server` configuration chapter for more details). +Used `sdks` command of `xds-cli` tool to managed SDKs. -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. +```bash +# List all available SDKs +xds-cli sdks ls -a -So to install a SDK, use provided `install-agl-sdks` script: +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 +... -```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 a SDK (downloaded + install) +xds-cli sdks install d65fe750 -# For example, Install ARM64 SDK (automatic download) -devel@docker ~$ sudo /opt/AGL/xds/server/xds-utils/install-agl-sdks.sh --arch aarch64 -``` +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’ -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)) + 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 -```bash -# Optional - Log into the container (only necessary when xds-server is running within a docker container) -seb@laptop ~$ ssh -p 2222 devel@localhost +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] -# 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 -``` +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 -<!-- warning --> -**Warning:** due to some limitation, you need for now to restart `xds-server` in -order to make new installed SDK visible/available. +SDK ID d65fe750-d3a7-38f5-83d8-3d3806054f8d successfully installed. + + +# Abort an installation that is in progress +xds-cli sdks abort -id d65fe750 + +# Install a SDK (using a local SDK package/file) +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 -```bash -seb@laptop ~$ ssh -p 2222 devel@localhost -devel@docker ~$ systemctl --user restart xds-server.service ``` -<!-- endwarning --> +<!-- note --> +Installation based on a local SDK package is only supported when SDK file package +is located in `$HOME/xds-workspace/sdks` directory +<!-- endnote --> + +## Install a new SDK from XDS Dashboard + +Open XDS-Dashboard in web-browser and select `SDKs` entry in left side menu. +Then switch to `SDKs MANAGEMENT` view : + +![](../part-1/pictures/xds-dashboard-sdks-mgt.png){:: style="margin:auto; display:flex"} + +Use filter boxes to find the SDK you want to install and then click on plus +icon (Actions column) to start installation. SDK download and installation +process may take several minutes and output of installation script (output of +`add` script mentioned in above chapter). + +![](../part-1/pictures/xds-dashboard-sdks-install.png){:: style="margin:auto; display:flex"} + +Note that you can abort installation by clicking on `CANCEL` button. + +## More info + +Please refer to [xds-server](../part-2/1_xds-server.md) chapter for more details +about SDKs management. |