Custom OS images

Each of the Unipi PLCs has to be flashed with the operating system (OS). Neuron PLCs has the OS stored on the SD card and the Patron PLCs has it in the internal eMMC memory.

The OS is distributed in the form of image - large file, containing all the software and the configuration needed for the PLC to boot up. The OS mainly differs from the additional software you want to run on the PLC, so you typically need a different image for running Mervis, Node-RED, openHAB,…

We offer two types of images for our PLCs: OpensourceOS and MervisOS. Both of them can be downloaded for free in the Download section and used without any constraints.

The MervisOS is the one which is shipped with each Patron. Apart from the basic settings, it contains preinstalled MervisRT and it is meant to be used with the MervisIDE.

The OpensourceOS is the cleanest and smallest image we were able to put together. As with the MervisOS, it contains current, debootstrapped Debian GNU/Linux with the preinstalled Unipi packages mandatory for accessing the underlying IOs. This image is to be used as a base image for further development.

Because of the different needs of different PLCs (Patron, Neuron, Axon and Unipi 1.1), there has to be image built for each PLC separately. This results in having separate MervisOS image for Unipi 1.1, Patron, Neuron and Axon and the same applies to the OpensourceOS image.

Due to our openness, we allow you the full access to the OS via SSH, so you are free to install and configure anything you want. And since our OEM customers typically need to install additional software and do a custom configuration of the OS, we decided to open the image creation process as well.

You will get access to the build scripts of the whole system. This means that by adding just a few lines of code (basically the same you use in the SSH console) you will get an OS image just for your needs. Most common modifications are:

  • install additional software and libraries (.NET core, Node-RED, …)
  • Install your software solution
  • IP address configuration (static or dynamic)
  • enable/disable SSH including change of username and password

The result is that you have always have access to up-to-date images, which are automatically versioned, so you will not get lost in the modifications. The image can be then installed on-site to any of our PLCs.

Since Patrons include internal eMMC storage, your custom OS image can be deployed into the units during productions. This greatly reduces the post-receive time spent by your IT experts doing all the required modifications.

The OS images are defined and built by Gitlab CI running on our premises. Each image has its own GIT repository, which contains a definition of what software should be installed and what configuration needs to be performed. To make this process as easy as possible, these definitions are nothing more than a set of bash scripts which are executed in a particular time and order. The building of the OS image is roughly split into these parts:

  1. Debootstrap on the Debian GNU/Linux
  2. Preconfiguration of the OS
  3. Custom changes
  4. Post configuration of the OS
  5. Generation of the image (SD card or SWupdate)

As an OEM customer, you will get your GIT repository on our Gitlab, already prepared with the minimal configuration being able to build an image that resembles the Unipi OpensourceOS. With this, you will get full access to the Part 3 of the building process mentioned above. You will be able to define for what PLC types you want the image to build and what software and configuration should be done in this step. The resulted image will be stored in our Gitlab CI Artefacts, or you can change the CI definition to upload the image wherever you like.

The custom images are paid feature. Please contact info@unipi.technology for pricing information. For technical information please contact support@unipi.technology