Linux SDK Installation

SDK Delivery

The Nayax EMV-Core SDK supports a wide range of Linux-based platforms. Each delivery includes optimized binaries for specific CPU architectures and library versions.

Supported Platforms

Target NameDescriptionBitsPIECPU ABIMin KernelGLIBClibCurl
x86_64Ubuntu 64-bit64YesAMD643.2.02.347.81.0
armhfARM32 GCC "hard float"32YesARM v7-A3.2.02.347.81.0
armhf_7.5Linaro 7.5 toolchain32NoARM v7-A3.2.02.177.86.0
armv8aPoky Linux (Yocto)64YesARM AArch645.15.02.388.4.0
aarch64-nuvotonNuvoton (Buildroot)64NoARM AArch645.10.02.287.79.1
arm-injBuildroot32YesARM v7-A VE--7.83.1
ql_oe_mdm9607Quectel MDM960732NoARM v7-A2.6.322.177.44.0
cortexa53-pokyPoky Linux64YesARM AArch643.14.02.347.82.0
openwrtOpen-source firmware32NoMIPS--8.0.1
aarch64-gnu-13.2GNU toolchain 13.264-ARM AArch643.7.02.348.9.0

Package Contents

Each platform folder contains four primary components:

  1. otiKiosk: The primary EMV-Core service executable.
  2. otiKioskDemo: The client Test Application executable.
  3. kiosk-client-library-xxx.zip: Eclipse project containing the C source code and sample app.
  4. otikiosk-xxx.zip: Package for remote updates via TMS (using the CON_PROG command).

Example Folder Structure (x86_64):

  • \Linux\x86_64\otiKiosk (EMV-Core Service)
  • \Linux\x86_64\otiKioskDemo (Test App)
  • \Linux\x86_64\Sources\... (Client library & source code)
  • \Linux\x86_64\TMS Update\... (Remote update package)

Installation on Linux

EMV-Core Installation Steps

  1. Deploy Binaries: Copy the otiKiosk binary to your target device.

    Note: Do not rename this file. The system expects the filename to be exactly otiKiosk.

  2. Auto-Start Configuration: Configure your system (e.g., via systemd or init.d) to launch the EMV-Core binary automatically on boot.
  3. Device Access (udev Rules): Ensure the application has read/write access to the reader hardware.
    • USB HID: Access to /dev/hidrawX
    • RS232: Access to /dev/ttyX
    • Tip: Create a udev rule in /etc/udev/rules.d/ to grant permissions without requiring root: KERNEL=="hidraw*", SUBSYSTEM=="hidraw", MODE="0666"
  4. Folder Permissions: Set the directory containing the binary to allow read/write/execute access for the user running the service: chmod +x otiKiosk
  5. Environment Variables: If the application uses environment variables for specific folder paths, ensure those directories are created and have rwx permissions.