Installing Xilinx ISE/EDK 10.1SP3 on Debian Linux

This document describes how Debian was setup for a XUPV2P development machine that also acts as the headnode in our configuration. Firstly, here's the hardware in the machine.


Processor Via C3 1.X ghz
Ram 512 Mb Ram
Ethernet Onboard 10/100 Mb eth1
PCI 10/100 Mb eth0

You will need atleast a 40 GB hardrive.

A fairly underpowered machine.



We used Debian 4.0 Etch as our base and actually netbooted to get it up and running. This was due to a lack of cd's on hand and wanting to imitate MacGyver. I setup pxelinux on my laptop and used the campus wifi to make the installation happen. In tasksel only Graphical Desktop was selected. The user we created was sysadmin.

Install Xilinx Tools

This section describes how to setup the Xilinx tools on a Debian system.

Install Some Prerequisites and Update the System

In general its good to make sure you Debian system is upto date running the first command does this. The fxload program is also required inorder to allow the usb programmer to work.

apt-get update && apt-get upgrade # update the system
apt-get install fxload # Program used by the usb programmer

Install The Xilinx Tools

First we need to create the directory where we would like to install the Xilinx tools and make it world read and writeable. I assume that you have already download the software and have it in the your present working directory.

mkdir /opt/Xilinx/ && chmod a+rwx /opt/Xilinx
./setup # Choose all default options minus programming tools (will be taken care of later)
    # Xilinx will prompt you to install all updates you should allow this.

Shared Libraries Fixes

Xilinx has decided that they require specific versions of some libraries so we are going to pretend like we have them by just linking to a newer version.

sudo ln -s /usr/lib/ /usr/lib/

Don't want Adobe Reader use Evince

I prefer not to install Adobe reader and so I'll create a soft link to evince from acroread. This is completely optional there are some features in Adobe that are better but I can't stand the start up time and therefore I prefer Evince.

cd /usr/bin
             ln -s evince acroread

Setup the USB Cable driver

The Xilinx USB driver is included in the newer ISE/EDK 10.1, we will use it because the closed loadable module driver does not support Debian.

edit /opt/Xilinx/10.1/ISE/ and add the following

# Allow ISE/EDK to use the USB Cable Driver

Now we need run a Xilinx script that will setup the Cable driver

source /opt/Xilinx/10.1/ISE/

Creating Startup Scripts

The process of starting ise and or edk is annoying so I create a simple helper script that will start the programs for me. This way I can create a simple desktop shortcut to start either program.

create a new file named start_xilinx_edk fill with


# Simple start up script for Xlinx EDK 

source /opt/Xilinx/10.1/ISE/settings*.sh && \
source /opt/Xilinx/10.1/EDK/settings*.sh && \
/opt/Xilinx/10.1/EDK/bin/lin/xps &

Create a new file named start_xilinx_ise fill with


# Simple start up script for Xlinx ISE

source /opt/Xilinx/10.1/ISE/settings*.sh && \
/opt/Xilinx/10.1/ISE/bin/lin/ise &

You should copy both of these to somewhere in your path. I chose /usr/local/bin.

sudo cp start_xilinx* /usr/local/bin/
sudo chmod a+x /usr/local/bin/start_xilinx*

Setup Device Tree and the XUP Reference platform

First create an edk_user_repository

sudo mkdir /opt/Xilinx/edk_user_repository

Download Reference Platform

Now download the Reference Implementation from Digilent and unzip it into the new edk repo

mkdir xup-ref
cd xup-ref
cp lib/* /opt/Xilinx/edk_user_repository

Git the Device Tree

We are now goingto download an mld for Linux/Uboot. It is Xilinx recommended way of getting a device tree into a kernel. A device tree performs the task of telling Linux about the hardware in the system.

cd /opt/Xilinx/edk_user_repository 
git clone git://

Start Xilinx EDK and enjoy

type start_xilinx_ise or start_xilinx_edk on any command line and enjoy :) You can even make a desktop shortcut.