
Getting Started With Embedded Linux Using QEMU
Dates: August 12 - August 14, 2025
Time: 10 AM - 1 PM Eastern
Pre-requisites:
-
Familiarity with the Linux terminal
-
Familiarity with executing Linux commands
-
C programming
Registrants will be automatically entered into a raffle for the following prizes:
-
1 year subscription to The Embedded Software Academy (https://www.beningo.com/embedded-software-academy/)
-
1 Toradex Colibri iMX8 SoM and Aster carrier board with accompanying cables (https://www.toradex.com/computer-on-modules/colibri-arm-family)
-
1 year subscription to the Embedded Online Conference (https://embeddedonlineconference.com/index.php#getyourpass)
Looking to get hands-on experience with Embedded Linux? In this virtual course, participants will learn about the different components that comprise an Embedded Linux system and how to customize each.
We will also learn about the Qucik Emulator (QEMU) and how it can be used to test customizations of the different Embedded Linux components. We will also learn how QEMU allows us to emulate hardware so that we can get our embedded software up and running without waiting for hardware.
Each session will consist of a lecture with slides and a lab portion. Participants will have their own Linux environment to conduct the labs.
The following outlines what will be covered in each session:
- Day 1
- Embedded Linux system architecture and components
- Introduction to QEMU
- The Embedded Linux boot process
- U-Boot software architecture
- Environment variables in U-Boot
- U-Boot commands
- Lab: Customizing U-Boot in QEMU
- Day 2
- The different types of kernels
- The Linux Kernel: Overview, architecture, and components
- Different Linux Kernel subsystems
- KConfig: Enabling Linux Kernel features
- How the Linux Kernel uses the Devicetree to learn about hardware
- Devicetree Overlays
- Linux Kernel modules
- Emulating hardware to QEMU
- Lab: Implementing an Out-Of-Tree Module to Interact with Hardware and Testing On QEMU
- Day 3
- Kernel-space vs user-space
- Cross-compiling applications to run on embedded systems
- Creating a root filesystem for use in QEMU
- Systemd: Launcing applications on startup
- GDB: How to debug Embedded Linux applications
- Lab: Creating an Application To Interact With Our Hardware
About The Instructor
Mohammed Billoo is Founder of MAB Labs, LLC. He has over 12 years of experience architecting, designing, implementing, and testing embedded software, with a core focus on embedded Linux. This includes custom board bring-up, writing custom device drivers, and writing application code. Mohammed also contributes to the Linux kernel and is an active participant in numerous open-source efforts. He is also an Adjunct Professor of Electrical Engineering at The Cooper Union for the Advancement of Science and Art, where he teaches courses in Digital Logic Design, Computer Architecture, and Advanced Computer Architecture. Mohammed received both his Bachelor's and Master's of Electrical Enginering from the same institution.How Much?
The registration fee is $349
How to Register?
Go Here and fill the form.
Questions?
Feel free to contact us
