Embedded Linux


Embedded Linux is the name given to the Linux operating system when it is run on resource-constrained systems, as opposed to traditional laptop, desktop or server style computers.

Embedded Linux icon.

Child Pages

ContentsEnvironment VariablesSetting The Device’s IP AddressBooting Via TFTPSetting TFTP Up On Development ComputerSetting TFTP Up On Embedded DeviceEnvironment Variables To print an environment variable, use the printenv command: Shell uboot> printenv autoload autoload=yes 12 uboot> printenv autoloadautoload=yes To set an environment variable, use the setenv command: Shell uboot> setenv autoload=no 1 uboot> setenv autoload=no You … Continue reading U-Boot
Yocto Project
Information about the Yocto Project used for building custom embedded Linux images. Includes a "Quick Start" tutorial on Yocto.
Info about the Xilinx Zinq FPGA.

Differences With “Standard” Linux

Embedded devices typically have fewer resources and hardware than a traditional computer running Linux. For example, embedded Linux might run on a single-board MCU which does not have a screen, harddrive or speakers. The board will usually have far less ROM and RAM than a traditional computer.

Because of the resource/hardware constraints, the embedded Linux kernel is usually stripped of all unneeded features, resulting in a much smaller ROM/RAM footprint.

Functionality Of MCUs

A MCU designed to run embedded Linux (or any other high-level operating system) usually has some (or most) of the following features:

  • CPU (e.g. a ARM A9)
  • MMU (if no MMU is present, a special type of Linux has to be run)
  • Memory interface
  • Graphics processor
  • Ethernet
  • USB
  • UART interface
  • SPI interface
  • I2C interface
  • CAN interface
  • Analogue-to-digital converters (ADCs)
  • Timers
  • General purpose IO (GPIO)
  • Watchdog timer (WDT)
  • JTAG

Development Kits

2 of the most popular embedded Linux development kits are the RaspberryPi and the BeagleBone.


BusyBox is a bunch of stripped down Linux tools that are compiled into one executable. This makes it a popular choice for embedded devices, as each separate executable on an embedded system requires a significant amount of overhead.

Embedded ABI

An embedded application binary interface (EABI) is very similar to a normal ABI. It specifies:

  • File formats
  • Data types
  • Register usage
  • Stack frame organisation

Posted: March 28th, 2017 at 11:00 am
Last Updated on: July 6th, 2017 at 12:00 pm