Most of the more powerful compact form-factor single-board computers (SBCs) run one of the popular Linux distributions designed for use with these embedded boards. While there isn’t a specific version of the Linux kernel for embedded applications, the difference from a PC or desktop device running Linux is usually very small.

Typically being more reliant on Flash memory than having plenty of RAM and a hard disk – and in some cases also being ‘headless’, i.e. having no HDMI or video output – the distribution for embedded applications is tailored to available resources, rather than not being capable of running certain functions or commands. For the headless SBCs the only way to interact with them is through the Linux command line, so a good grounding in the basics of Linux is essential. Also, at a device and peripheral connectivity level, such as with GPIO interfaces and I2C functions, there are a number of Linux resources that are important to know. In this article we’ll cover some of the commands you are most likely to use when connecting up your embedded SBC to the real world. It is assumed that you have some basic Linux command line skills.

Before getting to work with the command line interface (CLI), let’s review some of the benefits of using Linux. Found running on anything from compact SBCs with embedded microcontrollers through to multi-core data-centre servers, Linux is an extremely efficient and scalable operating system (OS).