Installation based on Virtual Machine appliance

Virtual Machine appliance prerequisites

VirtualBox is installed on the host machine

please refer to VirtualBox documentation for more details.

Get the appliance

Load the pre-build AGL SDK appliance image including xds-server:

wget http://iot.bzh/download/public/XDS/appliance/xds-vm-debian9_latest.ova

Clean old appliance

You must have one and one xds appliance only.

So, first remove the oldest xds appliance if needed.

# Get the virtual machine name
VDS_VMNAME=$(VBoxManage list vms | grep xds-vm-debian | cut -d "\"" -f2)
echo ${VDS_VMNAME}

# Remove 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

Used provided script to create a new appliance or you can use VirtualBox GUI:

# 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 share folder to appliance, mandatory to use path-mapping sharing type for projects:

# 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

Start appliance

# Start XDS appliance
[ -n ${VDS_VMNAME} ] && VBoxManage startvm ${VDS_VMNAME}

Appliance settings

This image exposes following network ports (NAT mode):

  • 8000 : xds-server to serve XDS basic web page
  • 2222 : ssh

Check if xds-server is running

xds-server is automatically started as a service on container startup.

To check if xds-server is correctly install and running, you can access the basic web page that gives you some instructions:

# if container/appliance is running on your local host
# (else replace localhost by the name or the ip of the machine running the container)
xdg-open http://localhost:8000

xds-server is now up and running, you can now install AGL SDKs, please refer to next chapter named Installing AGL SDKs