Install ESF

ESF is provided using a RPM or DEB Linux package. Visit the ESF download page to find the correct installation file for the target system.

Installer types

Several installers can be found on such page, and they fall into one of the following categories:

  1. specific device profiles, like esf-boltgate-10-12-7.3.0-1.cortexa8hf_neon.rpm;
  2. generic profiles, like esf-generic-x86_64-7.3.0.rpm; and
  3. profiles with suffix nn, like esf-boltgate-20-31-nn-7.2.2-1.corei7_64.rpm

Profiles of types (1) and (2) ship an ESF version with networking functionalities. In particular, the installers of kind (1) use Kura Networking for leveraging network interface configurations and are made for a specific Eurotech device.

Installers of type (2) can be installed on targets with NetworkManager; a commonly available tool for managing Linux networking. ESF leverages this tool for networking functionalities. Refer to the Generic Profiles section for further information.

Installers of type (3) with the suffix nn are No Networking profiles that do not bundle the ESF Network Manager: all the network configurations need to be done outside of ESF. Functionalities missing in NN profiles compared to the full ESF profiles:

  • Networking interfaces management
  • Firewall configuration management
  • Network Threat management

For more information about generic profiles, please refer to the dedicated section.

📘

Note

It is recommended to use a specific device profile if it is available for the target gateway

🚧

Preinstalled Java version

Since ESF 7.5.0, the framework will expect to run on Java 17 on new installations. If your system comes pre-bundled with a JVM, make sure that java 17 is installed and available.

Installation procedure

Once the installation package has been copied to the target system, ESF can be installed with the following command:

sudo dnf install esf-*.rpm
sudo reboot
sudo apt install ./esf-*.deb
sudo reboot

📘

Note

Check the gateway-specific page if more detailed installation instructions or additional preliminary steps are needed for your device.

The dnf tool is responsible to verify the installer signature and install ESF with all the needed dependencies. Please refer to this page for more details about installer signature verification.

The apt tool will perform all the required actions for verify and install the package on the system. Please refer to this page for more details about installer sign verification.

Once the target device has finished rebooting, verify that ESF is running as expected.

🚧

RPM GPG key

On already deployed devices, the rpm install may require the installation of the ESF RPM GPG key used to sign and verify the ESF RPM.

The ESF RPM Key comes pre-installed in EL 27.1.0 and EL 30.0.0.

The Key is available here. To install in the target device, run the following command: rpm --import <key>

ESF on Raspberry Pi

Eurotech provides RaspberryPi OS-compatible ESF installers (32 and 64-bit) via generic profiles. These can be used as a prototyping platform for testing and evaluation purposes and are not officially supported.

📘

Note

The provided installation instructions have been tested with a Raspberry Pi connected via ethernet.

The installation can be completed via WI-FI but, at the following reboot, ESF will disable as default policy the WI-Fi interface. It can be later re-enabled via the ESF administration web UI.

Raspberry PI OS 32/64bits

The ESF installers for Raspberry PI are available both with and without networking (generic profiles).

Once the installation package has been copied to the target system, ESF can be installed with the following command:

sudo apt update

sudo apt install ./esf-generic_<version>_armhf.deb

sudo reboot
sudo apt update

sudo apt install ./esf-generic_<version>_arm64.deb

sudo reboot

Ubuntu 22.04

The ESF installer for Ubuntu 20.04 on Raspberry PI are available both with and without networking (generic profiles).

Once the installation package has been copied to the target system, ESF can be installed with the following command:

sudo apt update

sudo apt install ./esf-generic_<version>_armhf.deb

sudo reboot
sudo apt update

sudo apt install ./esf-generic-nn_<version>_arm64.deb

sudo reboot

WLAN Softblock

On Raspbian, it could happen that ‘wlan’ interface is “soft blocked” by default and needs to be enabled. To see if it is blocked run:

rfkill list

and unblock it with:

sudo rfkill unblock wlan

GPIO

Configure the GPIO replacing the content of the file /opt/eurotech/esf/framework/jdk.dio.properties with the following text:


0 = deviceType: gpio.GPIOPin, pinNumber:0, name:GPIO0
1 = deviceType: gpio.GPIOPin, pinNumber:1, name:GPIO1
2 = deviceType: gpio.GPIOPin, pinNumber:2, name:GPI02
3 = deviceType: gpio.GPIOPin, pinNumber:3, name:GPIO3
4 = deviceType: gpio.GPIOPin, pinNumber:4, name:GPIO4
5 = deviceType: gpio.GPIOPin, pinNumber:5, name:GPIO5
6 = deviceType: gpio.GPIOPin, pinNumber:6, name:GPIO6
7 = deviceType: gpio.GPIOPin, pinNumber:7, name:GPIO7
8 = deviceType: gpio.GPIOPin, pinNumber:8, name:GPIO8
9 = deviceType: gpio.GPIOPin, pinNumber:9, name:GPIO9
10 = deviceType: gpio.GPIOPin, pinNumber:10, name:GPIO10
11 = deviceType: gpio.GPIOPin, pinNumber:11, name:GPIO11
12 = deviceType: gpio.GPIOPin, pinNumber:12, name:GPIO12
13 = deviceType: gpio.GPIOPin, pinNumber:13, name:GPIO13
14 = deviceType: gpio.GPIOPin, pinNumber:14, name:GPIO14
15 = deviceType: gpio.GPIOPin, pinNumber:14, name:GPIO15
16 = deviceType: gpio.GPIOPin, pinNumber:16, name:GPIO16
17 = deviceType: gpio.GPIOPin, pinNumber:17, name:GPIO17
18 = deviceType: gpio.GPIOPin, pinNumber:18, name:GPIO18
19 = deviceType: gpio.GPIOPin, pinNumber:19, name:GPIO19
20 = deviceType: gpio.GPIOPin, pinNumber:20, name:GPIO20
21 = deviceType: gpio.GPIOPin, pinNumber:21, name:GPIO21
22 = deviceType: gpio.GPIOPin, pinNumber:22, name:GPIO22
23 = deviceType: gpio.GPIOPin, pinNumber:23, name:GPIO23
24 = deviceType: gpio.GPIOPin, pinNumber:24, name:GPIO24
25 = deviceType: gpio.GPIOPin, pinNumber:25, name:GPIO25
26 = deviceType: gpio.GPIOPin, pinNumber:26, name:GPIO26
27 = deviceType: gpio.GPIOPin, pinNumber:27, name:GPIO27

gpio.GPIOPin = initValue:0, deviceNumber:0, direction:3, mode:-1, trigger:3
uart.UART = baudRate:19200, parity:0, dataBits:8, stopBits:1, flowControl:0


What’s Next

Once the installation step is completed and the gateway is rebooted, users can access the ESF Web UI to start customising their IoT deployment