NetFPGA Installation

From Bobs Projects
Jump to: navigation, search

The NetFPGA 1G framework can be installed in a user-supplied machine, or a complete, ready-to-go pre-installed system can be purchased.

The NetFPGA Software Installation instructions show how to install their preferred Fedora-based install although they can be quite hard to follow.

Some other installation scenarios are covered below.

Contents

Installing in VirtualBox

For running the NetFPGA framework on a MacOSX machine, the best option may be to install in a VirtualBox instance. Note that this will not allow running the actual NetFPGA 1G hardware, but all the simulation etc. scripts should work fine.

Installing on Debian Squeeze

NetFPGA 1G is only officially supported on CentOS and Fedora. To run it on Debian Squeeze, follow Ubuntu Compatibility page on the NetFPGA site.

Because we need to install some stuff in the kernel etc. we will need to have root access, so it is worth setting up sudo.

Then continue by following the instructions at: Quick Start without YUM.

Grub configuration

NetFPGA 1G requires a kernel module and some memory space. The kernel bootloader needs to set aside some resources for the board(s) to use.

Under the installation sub-section Minimal Install without YUM there is an instruction:

  • add uppermem and vmalloc to /boot/grub/grub.conf and reboot (check forum for exact syntax)

The forum post referred to is, most likely, this: CentOS Installation Instructions for version 1.0 of the software, where it describes modifying the bootloaded (GRUB, in this case) to:

  • add the uppermem 524288 to the boot loader parameters, and
  • append vmalloc=256M to the kernel cmdline

Because Squeeze uses Grub 2, we edit /etc/default/grub and put in the following:

GRUB_CMDLINE_LINUX_DEFAULT="quiet vmalloc=256M"

lspci and setpci

Don't forget to create the symlinks from /usr/bin/[ls|set]pci to /sbin:

sudo ln /usr/bin/lspci /sbin/lspci
sudo ln /usr/bin/setpci /sbin/setpci

nf_test.py

In order for nf_test.py (the NetFPGA v3.0.0 testing framework) to work, at least one Perl module, Net::RawIP, needs to be installed. Use CPAN:

# cpan Net::RawIP
...

Selftest

The DMA part of selftest fails if not run as the root user (eg. with sudo)

If selftest fails, run it in "continuous" mode for more detailed information:

~/netfpga/projects/selftest/sw/selftest -n -c

Building Projects