How-To: Setting Up a Linux Box
Intended usage:
E-Release
For older releases please check-out the history of this Wiki page.
Introduction
This how-to describes setting up a Linux Box.
This how-to
does not describe building and deployment of the timing system for various platforms. This is covered by a
dedicated how-to.
Requirements
In order to have a test setup you need
- PC with network connection
- Linux OS - this has been tested with Ubuntu 12.04 and above, Debian Wheezy and above, Mint 19.1 and on the ASL CLuster (RH6)
-
Important
: Make sure that at least the LC_NUMERIC
environment variable in locales is set for English-US (i.e., LC_NUMERIC=en_US.UTF-8) to avoid an HDL compilation issue when using Quartus Prime
Required software packages, testet on Ubuntu 16.04 / Debian 8 / Mint 19.1:
> apt-get update
> apt-get install git
> apt-get install build-essential --install-suggests
Debian : > apt-get install docbook-to-man
Ubuntu : > apt-get install docbook-utils
> apt-get install libreadline-dev
> apt-get install zlib1g:i386
> apt-get install linux-headers-$(uname -r) # optional: to built VME PCI driver
> apt-get install sdcc fxload # optional: to built firmware/USB/etc for the Pexaria
> apt-get install autotools-dev
> apt-get install automake # on Linux Mint 19.1 (kernel 4.15)
> apt-get install libtool # on Linux Mint 19.1 (kernel 4.15)
> apt-get install libglibmm-2.4 # optional: to build saftlib on Linux Mint 19.1 (kernel 4.15)
> apt-get install libglib2.0 # optional: to build saftlib on Linux Mint 19.1 (kernel 4.15)
> apt-get install xsltproc # optional: to build saftlib on Linux Mint 19.1 (kernel 4.15)
> apt-get install libboost-all-dev # optional: to build saftlib on Linux Mint 20.0 (kernel 5.4.0)
> apt-get install libsigc++-2.0-dev # optional: to build saftlib on Linux Mint 19.2 (kernel 4.15)
Setting Up Quartus
See
dedicated how-to
Privileges
Drivers
In case you get
eb-ls <protocol/host/port>
does not work:
failed to open Etherbone device: system failure
: This is due to missing privileges.
- check /dev/ttyUSB0, /dev/wbm0: The user must be member of the
wishbone
group.
- in case of a standard local GSI desktop machine administered by the IT department, becoming a member of the
wishbone
group requires contacting the IT department.
- hack
- (not boot-safe) change permissions of the relevant file such as /dev/wbm0
- use
sudo
Saftlib
Saftlib does inter process communication (IPC) using a UNIX socket. On startup saftd creates the socket to which all other saft-tools will connect.
- The default location for the socket is
/var/run/saftbus/saftbus
. When using the default location saftd must be started with root privileges.
- The default location can be changed with an environment variable, e.g.
export SAFTBUS_SOCKET_PATH=/tmp/saftbus
.
- If the environment variable is used, make sure that the environment variable is visible to the the saft-tools (e.g. saft-ctl).
- It is possible to run multiple saftd processes in parallel on the same system if they are started with different
SAFTBUS_SOCKET_PATH
.
--
MartinSkorsky - 22 Dec 2020