Skip to main content

Anatomy of embedded Linux system



Linus Torvalds released 1st version of Linux kernel in 1991.  Much lower used as desktops and mainly used for embedded applications. In embedded systems, Linux has been ported to many architectures including ARM. It’s an open software, and some pros of open source software - reduces software costs, full control of source code, wide usage of components can improve quality, easy to evaluate new software.

In the anatomy of embedded Linux system, these 4 items are very important - Tool chain, Boot loader, Kernel and File system.

This is the basic diagram- we have 2 main components Host and Target.  Tool chain indicates the tools and software required for developing software on the target platform. Example compiler, Binutils, C library, debugger, kernel headers etc.  If we have to debug kernel headers, serial debugger can be used. If CPU wants to be debugged,  JTAG debugging tool must be used.  Please refer below image. 


Binutils is a collection of utility programs for working with target binary files. It includes compilation tools like assembler and linker, Binary files, library generation files, etc. 

U-Boot is a multi-platform open source boot loader with comprehensive image management support. 
The main features are - Kernel and/or file system image loading,  updating images, memory utilities and interactive shell.  

Linux kernel is responsible for process management, memory management, inter-process communication, timers, file systems, networking, power management, device drivers for hardware resources, manage hardware resources, manage usage of hardware and provide APIs to access system hardware. 

Thank you for reading this article, hope it is useful. 

Comments