Amazon Web Services EC2 BYOL Baremetal Appliance Quick Start Guide

Quick Start Guide for the Amazon Web Services EC2 Baremetal BYOL Appliance (AMI)

Current appliance version is: 0.6
Last updated: 2017-07-10
Software availability:  Vivado 2017.2, Vivado HLS 2017.2, SDx IDE 2017.1
Operating System: Ubuntu 16.04 LTS + Gnome
Appliance access method: SSH v2 and Virtual Network Computing (VNC)


The Amazon Web Services EC2 appliance (AMI) is a 64-bit based appliance you can quickly launch on your Amazon EC2/VPC in order to start developing Xilinx Vivado and SDSoC applications on Linux. To make it more convenient for you to deploy your server in the region closest to you, we currently offer the AMI in all of Amazon’s publicly available regions (US East (Virginia), US West (Oregon), US West (Northern California), EU West (Ireland), EU Central (Frankfurt), Asia Pacific (Singapore), Asia Pacific (Tokyo), Asia Pacific (Sydney), and South America (Sao Paulo)).

ATTENTION: Amazon has not made the AMI public yet due to backlog.
Please email us at and ask this AMI to be shared with you.
Provide your Amazon Customer ID in the email so we can add it to the AMI authorized list. 

Launching the Appliance

First, if you have done already, create an Amazon AWS account.  Then log in to your account and go to Amazon EC2.
Once at the Amazon EC2, hit “Create Instance” or “Create Spot Instance“.

Spot instances are 80% cheaper than regular instances but you might get kicked off if demand for the particular instance you are using exceeds supply.
On the creation wizard, click on Search for AMI

On the window type “Baremetal” in the search box and select the appropriate version (it was 0.4 at the time of this writing but the new version is stated at the top of this post). Hit Select.

Proceed with the selection of your Instance CPU/RAM, subnet and other instance choices. Hit Next. On the Storage tab you will have 150G (minimum) in the main root mount, which will give you roughly 30 Gb of space for your files. However, if that is not enough, increase that number or add another EBS container.

Proceed choosing your key pair and security groups. If you don’t have a key pair, create one. Make sure to download your .pem file to access your instance after you launch it, otherwise you will be locked out. There is no need to open any additional ports beyond the default – all VNC connections are tunneled inside the SSH connection itself.
Hit Review and then Launch Instance.

Accessing the Baremetal Instance

All Windows 32-bit and 64-bit client software necessary to access this instance can be found inside /home/ubuntu/ClientSoftware.  Please connect to SSH port 22 on the instance and secure copy (scp) back the client software and install it on your Windows machine. 

On your Amazon AWS/EC2 dashboard, hit INSTANCES/Instances. You will (hopefully) see your instance running. Copy the Public DNS of your instance to the clipboard.

On Linux, run

Of course, substitute the public IP above by your own. Skip to the end of this section.  Alternatively create a $HOME/.ssh/config with the entries

and then just run

On Windows. Open Putty and paste the Public DNS copied above on the Host Name box.  Write “baremetal” (or any other name you like) on the Saved Sessions box. Make sure the SSH connection type is selected.

On the Connection tab, hit Enable TCP keepalives and set the Seconds between keepalives to 10.  On the Data tab, enter ubuntu int the Auto-login username box.

On the SSH tab, check the Enable compression checkbox and make sure Share SSH connections if possible is disabled. Expand the SSH tab and select the Auth sub-tab. In the Private key file for authentication, select the PPK file you exported using PuttyGen. On the TTY tab, check the Don’t allocate a pseudo-terminal if you only want to forward the graphical interface. Otherwise leave it unchecked if you want to be able to enter commands in the terminal.
On the Tunnels tab, forward local port 5901 to localhost:5901 in the remote machine (for VNC) and reverse-forward (note the R3122) port 3122 on the remote host to localhost:3121 in the local machine (for the hardware server).

Go back to the Session tab and make sure to hit Save (I forget all the time) and only then Open.
If everything ran okay you should be greeted with a confirmation screen like the one below. Hit Yes and you should be greeted with the Linux command prompt.

Accessing the graphical interface using X11

There is no need to install any software and this is the recommended access method. Make sure to tunnel X11 through ssh with the ‘-X’ switch.

But for faster access please install a vncviewer, which comes default with Linux packages.

Accessing the graphical interface using VNC (optional)

On Redhat, the default vnc viewer is TigerVNC

On Ubuntu, the recommended VNC viewer is tightvnc which can be installed with

Other clients as remmina, directvnc, krdc, novnc (web), vinagre and xvnc4viewer are also available in any Ubuntu distribution.

On Windows, install TightVNC Viewer which is available at /home/ubuntu/ClientSoftware/tightvnc-2.8.8-gpl-setup-64bit.msi or also availble from here if more convenient for you. Make sure NOT to install the server portion, just the client.

Once installed, open TightVNC Viewer and type “localhost:5901” in the Remote Host box. Hit Connect. You should be greeted by this window below.

The default password is ubuntu but no need to change it since it is being forwarded securely through SSH. However because the remote VNC is being forwarded to the localhost, you might want to change the password if your local computer is shared. In this case, remove the file /home/ubuntu/.vnc/passwd from the server and run vncserver.
Once you hit OK on the password screen, you should see the remote desktop forwarded through VNC as below.

This is the final, graphical environment you can use to develop and synthesize your heavy designs. There are three icons for Vivado, Vivado HLS and SDx IDE (SDSoc) and one Readme.txt file for your reference. Please read it. Or not. But definitely if you have a problem, read it.

At this point you would open Vivado and configure your license as usual.  If you need/want to program your local FPGA from the cloud, there is one video on our website that will help you set this up:

If your license manager does not work and give you the HOSTID 000000000 problem, please run the script

on the ssh/putty terminal. Alternatively you can run this script as

where 00:02:03:04:05:06 is the Host ID on your license.

If you have any problems, please reach out through the info in our Contacts page.









Leave a Reply