Build embedded Linux systems and real-world apps with Yocto, Buildroot, and RPi
Mohammed Billoo

#Linux
#Kernel
#Raspberry_Pi
#QEMU
#Hardware
#GUI
#Python
#eBPF
#Qt
#Docker
#GitHub
#Handbook
🐧 یه دید کلی و کامل از لینوکس تعبیه شده (Embedded Linux) بگیرید، از کرنل گرفته تا Qt، و با مثالهای عملی یاد بگیرید چطور سیستمهای واقعی رو روی رزبری پای ۵ (Raspberry Pi 5) بسازید، شبیهسازی و مستقر کنید.
✨ ویژگیهای کلیدی
• یادگیری از طریق کدنویسی با مثالهای واقعی روی رزبری پای ۵ و QEMU (واسه اونایی که به سختافزار دسترسی ندارن)
• آشنایی با زبان Rust و اینکه چطور توی یه سیستم لینوکس تعبیه شده جا میگیره
• استفاده از Qt که یه فریمورک مدرن GUI هست، برای ساخت اپلیکیشنهایی مثل یه ابزار علمی با دادههای زنده سنسور دما
📖 توضیحات کتاب
💻 لینوکس تعبیه شده الان دیگه همه جا هست، از دستگاههای اینترنت اشیا (IoT) گرفته تا سیستمهای صنعتی؛ واسه همین خیلی مهمه که ما به عنوان مهندس نرمافزار تعبیه شده، بتونیم این پلتفرمها رو شخصیسازی و مستقر کنیم. این راهنمای عملی، مفاهیم اصلی لینوکس تعبیه شده رو با مثالهای واقعی روی رزبری پای ۴ و ۵ بهت یاد میده. اگه برد دم دستت نیست، یادت میده چطوری با QEMU سیستم رو شبیهسازی کنی.
🛠️ این کتاب کلی نمونه کد داره که میتونی باهاشون سه تا پروژه واقعی بسازی: یه داشبورد تحت وب با پایتون که دادهها رو از سنسور دما میگیره، و دو تا برنامه گرافیکی (GUI) که نشون میده چطور از فریمورک Qt توی لینوکس تعبیه شده استفاده کنی. ضمنا وارد مباحث پیشرفتهای مثل دیباگ کردن کرنل و استفاده از eBPF هم میشی تا اون تجربهای رو کسب کنی که شرکتها دنبالشن.
🚀 ته این کتاب، تو یه درک قوی از توسعه لینوکس تعبیه شده داری و مهارتهایی یاد گرفتی که بتونی اپلیکیشنهای مدرن و آماده تولید رو بسازی و بالا بیاری.
🎓 آنچه یاد خواهید گرفت
• درک معماری، اجزا و موارد استفاده سیستمهای لینوکس تعبیه شده
• دیباگ و ایمنسازی کرنل لینوکس و ابزارهای مدرنی مثل eBPF
• ساخت ایمیجهای سفارشی لینوکس با استفاده از Yocto و Buildroot
• شبیهسازی ایمیجهای سفارشی با QEMU
• فلش کردن، بوت و تایید ایمیجها روی سختافزار رزبری پای
• توسعه، استقرار و دیباگ برنامهها با استفاده از C/C++، پایتون و Qt
• خودکارسازی فرآیند ساخت ایمیج و برنامه با Docker و GitHub Actions
• اجرای عملی مهارتها روی پروژههایی مثل رابطهای وب و ابزارهای پیچیده مبتنی بر GUI
📑 فهرست مطالب
👥 این کتاب برای چه کسی است؟
این کتاب برای مهندسین سیستمهای تعبیه شده در سطح مبتدی تا متوسط، توسعهدهندههای نرمافزار و علاقهمندایی هست که دنبال تجربه عملی با لینوکس تعبیه شده میگردن. اگه دوست داری با سختافزارهای دمدستی مثل رزبری پای پروژههای واقعی بسازی، این کتاب عالیه.
🧠 برای اینکه بهترین نتیجه رو بگیری، بهتره مفاهیم پایه سیستمهای تعبیه شده رو بدونی، بتونی برنامههای ساده به زبان C یا C++ یا پایتون بنویسی و با محیط ترمینال و کار با سختافزار غریبه نباشی.
👨💻 درباره نویسنده
محمد بیلو بیشتر از ۱۵ سال سابقه توی نرمافزار تعبیه شده داره. بعد از گرفتن لیسانس و فوق لیسانس مهندسی برق و الکترونیک از کوپر یونیون در نیویورک، کارش رو با توسعه نرمافزار واسه شرکتهای مختلف شروع کرد. اون شرکت مشاوره MAB Labs رو راه انداخت و به بیزنسهای زیادی، از استارتاپهای الکترونیکی گرفته تا شرکتهای بزرگ تجهیزات پزشکی کمک کرد تا راهحلهای نرمافزاری خودشون رو بسازن؛ از کدهای Bare-metal و RTOS گرفته تا سیستمهای کامل لینوکس تعبیه شده.
Get a complete overview of Embedded Linux, from the Kernel to Qt, and work through hands-on examples to build, simulate, and deploy real-world systems on Raspberry Pi 5
Embedded Linux now powers everything from IoT devices to industrial systems, making it essential for embedded software engineers to be skilled at customizing, deploying, and developing for these platforms. This hands-on guide walks you through the core concepts of Embedded Linux using practical, real-world examples on Raspberry Pi 4 and 5. For those without access to hardware, it also demonstrates how to simulate embedded Linux systems using QEMU.
This book contains code samples that you can follow along and build three real-world projects: a Python web-based dashboard that retrieves and displays data from a temperature sensor and two GUI applications demonstrating how to use the Qt framework on Embedded Linux using two different development paradigms. You’ll also step into advanced territory with Linux kernel debugging techniques and discover how to harness eBPF, building the experience employers want and the confidence to tackle complex embedded challenges.
By the end of this book, you'll have a solid grasp of Embedded Linux development and the skills to build and deploy production-ready, modern embedded applications.
This book is for beginner to intermediate embedded systems engineers, software developers, and enthusiasts seeking hands-on experience with Embedded Linux. It’s ideal for those eager to build real-world projects using accessible hardware like the Raspberry Pi.
To get the most out of this book, you should understand basic embedded systems concepts, be comfortable writing simple programs in C, C++, or Python, and feel confident using the terminal and working with basic hardware.
About the Author
Mohammed Billoo's career in embedded software spans over 15 years. After completing his bachelor's and master's in Electrical and Electronics Engineering from The Cooper Union in New York City, Mohammed began his professional career developing embedded software for companies of all sizes in different verticals. He established MAB Labs Embedded Solutions, an embedded software consulting firm. Mohammed has helped companies of all sizes across numerous verticals, from consumer electronics startups to large multinational medical device companies, to develop custom embedded software solutions for their product, ranging from MCU-based bare-metal and RTOS-based embedded software solutions to complete Embedded Linux solutions.









