Search icon CANCEL
Subscription
0
Cart icon
Your Cart (0 item)
Close icon
You have no products in your basket yet
Save more on your purchases! discount-offer-chevron-icon
Savings automatically calculated. No voucher code required.
Arrow left icon
Explore Products
Best Sellers
New Releases
Books
Videos
Audiobooks
Learning Hub
Newsletter Hub
Free Learning
Arrow right icon
timer SALE ENDS IN
0 Days
:
00 Hours
:
00 Minutes
:
00 Seconds
Arrow up icon
GO TO TOP
Mastering Embedded Linux Development

You're reading from   Mastering Embedded Linux Development Craft fast and reliable embedded solutions with Linux 6.6 and The Yocto Project 5.0 (Scarthgap)

Arrow left icon
Product type Paperback
Published in May 2025
Publisher Packt
ISBN-13 9781803232591
Length 710 pages
Edition 4th Edition
Tools
Arrow right icon
Authors (2):
Arrow left icon
Frank Vasquez Frank Vasquez
Author Profile Icon Frank Vasquez
Frank Vasquez
Chris Simmonds Chris Simmonds
Author Profile Icon Chris Simmonds
Chris Simmonds
Arrow right icon
View More author details
Toc

Table of Contents (28) Chapters Close

Preface 1. Part 1: Elements of Embedded Linux
2. Starting Out FREE CHAPTER 3. Learning about Toolchains 4. All about Bootloaders 5. Configuring and Building the Kernel 6. Building a Root Filesystem 7. Part 2: Building Embedded Linux Images
8. Selecting a Build System 9. Developing with Yocto 10. Yocto under the Hood 11. Part 3: System Architecture and Design Decisions
12. Creating a Storage Strategy 13. Updating Software in the Field 14. Interfacing with Device Drivers 15. Prototyping with Add-On Boards 16. Starting Up – The init Program 17. Managing Power 18. Part 4: Developing Applications
19. Packaging Python 20. Deploying Container Images 21. Learning about Processes and Threads 22. Managing Memory 23. Part 5: Debugging and Optimizing Performance
24. Debugging with GDB 25. Profiling and Tracing 26. Real-Time Programming 27. Index

The four elements of embedded Linux

Every project begins by obtaining, customizing, and deploying these four elements: the toolchain, the bootloader, the kernel, and the root filesystem. This is the topic of the first section of this book.

  • Toolchain: This is the cross compiler and other tools needed to create code for your target device. A cross compiler generates machine code for a target CPU architecture while running on a different host CPU architecture.
  • Bootloader: This is a bare metal program that initializes the board and the Linux kernel. The term “bare metal” means the program runs directly on the CPU, not on top of an OS.
  • Kernel: This is the heart of the system, managing system resources and interfacing with the hardware.
  • Root filesystem: This contains the libraries and programs that are run once the kernel has completed its initialization.

There is also a fifth element not mentioned here. That is the collection of programs specific to your embedded application that make the device do whatever it is supposed to do, be it weighing groceries, displaying movies, controlling a robot, or flying a drone.

Typically, you will be offered some or all of these elements as a package when you buy your SoC or board. But for the reasons mentioned earlier, they may not be the best choices for you. In the first eight chapters, I will give you the background to make the right selection and introduce two tools that automate the whole process for you: Buildroot and The Yocto Project.

You have been reading a chapter from
Mastering Embedded Linux Development - Fourth Edition
Published in: May 2025
Publisher: Packt
ISBN-13: 9781803232591
Register for a free Packt account to unlock a world of extra content!
A free Packt account unlocks extra newsletters, articles, discounted offers, and much more. Start advancing your knowledge today.
Unlock this book and the full library FREE for 7 days
Get unlimited access to 7000+ expert-authored eBooks and videos courses covering every tech area you can think of
Renews at $19.99/month. Cancel anytime