
DELL-E 2 generated
Have you been working with regular Embedded system and want to expand your skills by leaning Embedded Linux ? If you feel lost and overwhelmed this article is for you!
This article aims to provide you with essential keywords for each topic, allowing you to explore and learn independently at your own pace

The most interesting aspect of embedded Linux is that you can use the same knowledge you gained using normal Linux on a desktop; you will just need to build on it and learn some tools to adjust Linux to run on embedded targets with limited resources.
Embedded Linux is the usage of the Linux kernel and various
open-source components in embedded systems.

Modern embedded systems have increased in complexity, so there is a need for a high-level OS to handle those complex applications.
Linux is used in:
All of that makes learning embedded Linux very rewording and important !

In embedded Linux, you need to learn how to use the terminal because the terminal is the primary interface for interacting with the Linux operating system. Unlike graphical user interfaces (GUIs) found in desktop environments, the terminal provides a powerful command-line interface (CLI) that allows users to interact with the system at a much deeper level, and most of the embedded Linux systems will not have a GUI interface.
The most common CLI on Linux is Bash.
After getting familiar with the CLI, bash scripting is your way to go.
A “Bash script” is just a collection of bash commands that shall be executed in rows to achieve.
(Add “Linux” “terminal” to the search term
example: “Linux terminal wildcards”)
On a UNIX system, everything is a file; if something is not a file, it is a process.

Screenshot from Toy Story movie
Understanding the Linux file system, including directories, files, permissions, and file types, is essential for managing files in embedded Linux systems and for understanding the Linux philosophy.
It’s also important to know about the virtual file system (VFS) concepts that Linux implements and the pseudo filesystem that is used to view information about the running system.
(Add “Linux” to the search term)
A process is a running instance of a program.

Every running program in Linux is a process; learning how the processes are created and managed is a key to controlling the running system and monitoring its behavior.
(Add “Linux” “process” to the search term)

The Linux Kernel is the heart of the OS, which manages the core features of the OS. If some useful applications and utilities are added to the kernel, then the complete package becomes an OS.
(Add “Linux” to the search term)

As we discussed before, in order to use Linux in embedded systems, it needs to be trimmed down and configured in order for it to be able to run on a target with small resources. We need only a specific set of fully featured Linux, and we also need our image to be reproduceable after doing any modification. That’s why we need a build system.
Yocto/OpenEmbedded
YOCTO is the de facto tool for building custom embedded Linux; it builds a complete Linux distribution with binary packages. Powerful, but somewhat complex, and quite steep learning curve.
Buildroot
**It builds a root filesystem image with no binary packages. Much simpler to use, understand, and modify is the KISS principle, **“Keep it simple, stupid!”
A lot of big names are using it such as :E.g.: Google — Tesla — GoPro(used to changed to YOCTO) — Rockwell Collins
(Add “Linux” to the search term)
Conclusion
While these keywords provide a solid starting point for mastering embedded Linux, they only scratch the surface of this vast and interconnected domain. Embedded Linux encompasses a wide array of complex topics, reflecting its dynamic nature and relevance in today’s technology landscape. Embrace the journey of continuous learning, exploring beyond the basics to unlock the full potential of embedded Linux. Happy exploring!
In the comments below, feel free to share any additional topics you believe are essential for newcomers to embedded Linux.