Devices in the Internet of Things (IoT) need an Operating System (OS) and they need it to be ‘embedded’ i.e. hard-coded into the firmware that is used to manufacture the device itself… ideally they also need it to be upgradable, powerful and open. Could Guinnux be the answer?
Guinnux is a Linux-based operating system for embedded platforms.
What is embedded computing, really?
We talk about embedded devices in the context of the IoT all time. But what we really mean by this term is a computing device that is built to operate with a ‘defined and dedicated function set of instructions’ — and one that will very often feature as part of a larger computing system and/or database with data processing capabilities, because these do not exist on the device itself.
Guinnux itself (obviously a play on Guinness) is a Linux-based operating system distribution that consists of the Guinnux kernel, root file system images and an application repository of prepackaged binary applications and utilities.
Guinnux is free
The software itself is also supplied (totally free of charge) with the associated development tools and libraries needed to enable the development and porting of applications to the Guinnux environment.
Guinnux was was created by a team driven by John Eigelaar, director and co-founder Keystone Electronic Solutions, an electronic engineering company based in South Africa.
“There is a noticeable difference between Guinnux V4, which we were working on prior to this, and Guinnux V5, the system we have in play now,” says Eigelaar.
“It has a number of failsafes and support structures which will make a huge difference to our clients. Keystone’s version of Guinnux is more industrialised than existing Guinnux ARM solutions. We have customised the build tool which comes with the arch distro so it is a lot easier for our clients, and ourselves, to construct custom applications,” he added.
In terms of methodology, Guinnux adopts the ‘Arch Linux’ way of doing things, but with much-needed extras.
By way of definition and clarification when we talk about Arch Linux — this is is a distribution of Linux with a design approach that is driven by the KISS principle (“keep it simple, stupid”) as the general guideline and focuses on elegance, code correctness, minimalism and simplicity. It expects the user to be willing to make some effort to understand the system’s operation.
Arch Linux is to Guinnux the same as Debian is to Ubuntu. Arch Linux is a well supported Linux Distribution, like Ubuntu, Redhat or Debian, which is very popular amongst Linux geeks and developers.
Speaking to Internet of Business this week, Eigelaar has said that, “Arch Linux is a rolling distribution, they release new packages as soon as they become available and as such there is no such thing as an Arch Linux release version. Which makes Arch not very suitable for enterprise deployment.”
“We have discarded the rolling release philosophy of Arch in order to provide a predictably stable distro i.e. Guinnux, suitable for enterprise embedded deployment (such as in industrial Internet of Things environments) whilst retaining the lighweight packaging management system,” he added.
When IoT devices fail
The Guinnux rescue file system allows users to boot into flash should the embedded system fail and allows for simple system recovery.
The system can be recovered without having to re-flash an image – a useful addition which saves more than just time. Keystone has also adapted the boot loader so users are able to boot kernels from any external file system. This allows for Keystone to distribute and upgrade kernel packages from anywhere and at any time, without interrupting service.
As we start to become more sophisticated in our use of the Internet of Things, the ability to upgrade and reboot devices with embedded operating systems will be as crucial as it is in terms of your own use of you own PC. We will hear more on this theme for sure… Guinnux could well be a step in the right direction.