Skip to content

Ubuntu Operating System

Marco Forconesi edited this page Feb 6, 2014 · 2 revisions

Introduction

NetFPGA-10G development should be possible on any Linux distribution which supports the Xilinx ISE Design Suite. We currently build under 13.4. Xilinx provides a list of officially-supported Linux distributions for ISE Design Suite 13.4 here.

We are providing this guide to setting up an Ubuntu 12.04 LTS machine for NetFPGA-10G development to help users get up and running as easily as possible. Note however that we cannot undertake to support users who adopt this (or any other) Linux distribution for their development work.

Installing Ubuntu 12.04.3 LTS

  • Navigate to Ubuntu Downloads.
  • Download the 708MB DVD ISO installation image (ubuntu-12.04.3-desktop-amd64.iso).
  • Burn the image to blank DVD and boot your PC from it.
  • Complete the installation and add any device drivers that are required to make your system usable.
  • Login with the user account created during the installation.
  • Open a terminal (Ctrl + Alt + T) to eneable the root account. Type the following:
       $ sudo -i
       # passwd root
  • Enable graphical root-login.
       # sh -c 'echo "greeter-show-manual-login=true" >> /etc/lightdm/lightdm.conf'
  • Disable the guest account.
       # sh -c 'echo "allow-guest=false" >> /etc/lightdm/lightdm.conf'
  • After this, reboot the system and login as root providing the username 'root' and the password just created.
  • Delete the user account. Type in a terminal:
       # userdel <username>
  • Disable IPv6. Add to /etc/sysctl.conf:
       #disable ipv6
       net.ipv6.conf.all.disable_ipv6=1
       net.ipv6.conf.default.disable_ipv6=1
       net.ipv6.conf.lo.disable_ipv6=1

Additional Required Installation Packages

Once you have a working Ubuntu 12.04 LTS system, a number of additional software packages must be installed. These are required for hosting the NetFPGA-10G card and building the reference NIC driver. You should use Ubuntu's built-in package manager (apt-get) to install these packages where possible. If apt-get can't find a package for you, download the required packets from its source and use dpkg to manually install it.

First step is to do

       # apt-get update

Install the following mandatory packages.

Package How to Install Used for
gcc g++ apt-get install gcc g++ installing gcc and gcc+ compiler
lrzsz apt-get install lrzsz RS-232 link to NetFPGA-10G card
minicom apt-get install minicom RS-232 link to NetFPGA-10G card
libusb-dev apt-get install libusb-dev Third-party driver for Xilinx JTAG programming cable
libc6.i386 apt-get install libc6.i386 32-bit statically-linked Microblaze compiler and binutils
scapy apt-get install scapy NetFPGA-10G simulations
xterm apt-get install xterm used for isim simulation
fxload apt-get install fxload used for Xilinx JTAG programming cable
linux-source apt-get install linux-source used for compiling linux modules
       # apt-get install libxp6 emacs libdb-java-dev libnet1-dev iperf screen vnc4server mplayer libmotif-dev

Installing Xilinx ISE Design Suite

The Xilinx ISE Design Suite is not officially supported on Ubuntu distributions. However, a number of installation steps can be followed to allow the tools to install and run correctly. There is one main issue which needs to be overcome:

  • The newer Linux kernel in Ubuntu prevents the proprietary driver for the USB JTAG programming cable from installing correctly. A third-party replacement driver must be used instead.

Follow these steps to install the Xilinx ISE Design Suite:

       # tar xvf Xilinx_ISE_xxx_13.4.xxx.xx.tar
       # cd Xilinx_ISE_xxx_13.4.xxx.xx/
       # ./xsetup
  • Select "System Edition" to install the complete set of tools.
  • Disable "Install Cable Drivers". So untick the option shown in the image.
  • Install the tools to the default location in /opt/Xilinx/ and please untick the box indicating " import tool preference from previous version ". This is necessary to run the Xilinx tool chain in batch mode.
  • If you intend to use a Xilinx USB JTAG programming cable, download the libusb-based third-party driver written by Michael Gernoth, which is available from rmdir.de/~michael/xilinx/
  • Follow the installation instructions in the README included with the third-party driver. Typically, the installation process is as follows:
       # tar xvf usb-driver-HEAD-xxxxxxx.tar.gz 
       # cd usb-driver-HEAD-xxxxxxx/
       # make
       # cp libusb-driver.so /usr/local/lib/libusb-jtag-driver.so
       # export LD_PRELOAD=/usr/local/lib/libusb-jtag-driver.so
       # source /opt/Xilinx/13.4/ISE_DS/settings64.sh
       # ./setup_pcusb
  • Plug the Xilinx USB JTAG programming cable to the computer and check it gets recognized.
  • To run the Xilinx tools, start a new shell and run the Xilinx ISE Design Suite settings script:
       # source /opt/Xilinx/13.4/ISE_DS/settings64.sh

This defines a number of environment variables needed to run the ISE Design Suite.

  • Launch Xilinx ISE 13.4 using:
       # ise &
  • Launch Impact, the Xilinx FPGA and CPLD programming tool, using:
       # impact &

Building the NetFPGA-10G Reference NIC driver

If you plan to use the NetFPGA-10G card in hosted mode as an ethernet NIC, you will need to compile and install the included driver. Go to the Driver Getting Started page for instructions.

Clone this wiki locally