Search icon CANCEL
Subscription
0
Cart icon
Your Cart (0 item)
Close icon
You have no products in your basket yet
Arrow left icon
Explore Products
Best Sellers
New Releases
Books
Videos
Audiobooks
Learning Hub
Free Learning
Arrow right icon
Embedded Linux Development Using Yocto Project
Embedded Linux Development Using Yocto Project

Embedded Linux Development Using Yocto Project: Leverage the power of the Yocto Project to build efficient Linux-based products , Third Edition

Arrow left icon
Profile Icon Otavio Salvador Profile Icon Angolini
Arrow right icon
R$49.99 R$222.99
Full star icon Full star icon Full star icon Full star icon Full star icon 5 (8 Ratings)
eBook Apr 2023 196 pages 3rd Edition
eBook
R$49.99 R$222.99
Paperback
R$278.99
Subscription
Free Trial
Renews at R$50p/m
Arrow left icon
Profile Icon Otavio Salvador Profile Icon Angolini
Arrow right icon
R$49.99 R$222.99
Full star icon Full star icon Full star icon Full star icon Full star icon 5 (8 Ratings)
eBook Apr 2023 196 pages 3rd Edition
eBook
R$49.99 R$222.99
Paperback
R$278.99
Subscription
Free Trial
Renews at R$50p/m
eBook
R$49.99 R$222.99
Paperback
R$278.99
Subscription
Free Trial
Renews at R$50p/m

What do you get with eBook?

Product feature icon Instant access to your Digital eBook purchase
Product feature icon Download this book in EPUB and PDF formats
Product feature icon Access this title in our online reader with advanced features
Product feature icon DRM FREE - Read whenever, wherever and however you want
Product feature icon AI Assistant (beta) to help accelerate your learning
OR
Modal Close icon
Payment Processing...
tick Completed

Billing Address

Table of content icon View table of contents Preview book icon Preview Book

Embedded Linux Development Using Yocto Project

Baking Our First Poky-Based System

Let’s get our hands dirty! In this chapter, we will understand the basic concepts involved in the Poky workflow. We will cover the steps to download, configure, and prepare the Poky build environment and bake something usable. The steps covered here are common for testing and development. They will give us some experience using Poky and a taste of its capabilities.

Preparing the build host system

This section describes how to prepare Windows and Linux distribution host systems. Although we will describe the Windows steps, we will focus on using a Linux distribution host system.

Tip

The use of macOS as a host system is possible. Still, it involves using the CROss PlatformS (CROPS) framework, which leverages Docker, allowing the use of foreign operating systems, including macOS. For more information, you can refer to the Setting Up to Use CROss PlatformS (CROPS) section from the Yocto Project Development Tasks Manual (https://docs.yoctoproject.org/4.0.4/dev-manual/start.html#setting-up-to-use-cross-platforms-crops).

Next, we will provide the necessary information to start the build host system preparation.

Using Windows Subsystem for Linux (WSLv2)

You can set up a Linux distribution on Windows if you are a Windows user. WSLv2 is only available for Windows 10+ builds greater than 18917. WSLv2 allows development using the Yocto Project. You can install the Linux distribution from the Microsoft Store.

Please refer to the Setting Up to Use Windows Subsystem For Linux session (https://docs.yoctoproject.org/4.0.4/dev-manual/start.html#setting-up-to-use-windows-subsystem-for-linux-wslv2) from the Yocto Project Development Tasks Manual (https://docs.yoctoproject.org/4.0.4/dev-manual/index.html). Once you have WSLv2 set up, you can follow the next sections as if you were running on a native Linux machine.

Preparing a Linux-based system

The process needed to set up our host system depends on the Linux distribution we use. Poky has a set of supported Linux distributions. Let’s suppose we are new to embedded Linux development. In that case, it is advisable to use one of the supported Linux distributions to avoid wasting time debugging issues related to the host system support.

If you use the current release of one of the following distributions, you should be good to start using the Yocto Project on your machine:

  • Ubuntu
  • Fedora
  • CentOS
  • AlmaLinux
  • Debian
  • OpenSUSE Leap

To confirm whether your version is supported, it is advisable to check the official documentation online in the Required Packages for the Build Host section (https://docs.yoctoproject.org/4.0.4/ref-manual/system-requirements.html#required-packages-for-the-build-host).

If your preferred distribution is not in the preceding list, it doesn’t mean it is not possible to use Poky on it. Your host development system must meet some specific versions for Git, tar, Python, and GCC. Your Linux distributions should provide compatible versions of those base tools. However, there is a chance that your host development system does not meet all these requirements. In that case, you can resolve this by installing a buildtools tarball that contains these tools, as detailed in Required Git, tar, Python, and GCC Versions (https://docs.yoctoproject.org/4.0.4/ref-manual/system-requirements.html#required-git-tar-python-and-gcc-versions).

We must install a few packages on the host system. This book provides instructions for Debian and Fedora, our preferred distributions, which we will look at next. The set of packages for other supported distributions can be found in the Yocto Project Reference Manual (https://docs.yoctoproject.org/4.0.4/ref-manual/system-requirements.html#required-packages-for-the-build-host).

Debian-based distribution

To install the necessary packages for a headless host system, run the following command:

$ sudo apt install gawk wget git diffstat unzip texinfo gcc build-essential chrpath socat cpio python3 python3-pip python3-pexpect xz-utils debianutils iputils-ping python3-git python3-jinja2 libegl1-mesa libsdl1.2-dev pylint3 xterm python3-subunit mesa-common-dev zstd liblz4-tool

Fedora

To install the needed packages for a headless host system, run the following command:

$ sudo dnf install gawk make wget tar bzip2 gzip python3 unzip perl patch diffutils diffstat git cpp gcc gcc-c++ glibc-devel texinfo chrpath ccache perl-Data-Dumper perl-Text-ParseWords perl-Thread-Queue perl-bignum socat python3-pexpect findutils which file cpio python python3-pip xz python3-GitPython python3-jinja2 SDL-devel xterm rpcgen mesa-libGL-devel perl-FindBin perl-File-Compare perl-File-Copy perl-locale zstd lz4
Left arrow icon Right arrow icon

Key benefits

  • Optimize your Yocto Project tools to develop efficient Linux-based projects
  • Follow a practical approach to learning Linux development using Yocto Project
  • Employ the best practices for embedded Linux and Yocto Project development

Description

The Yocto Project is the industry standard for developing dependable embedded Linux projects. It stands out from other frameworks by offering time-efficient development with enhanced reliability and robustness. With Embedded Linux Development Using Yocto Project, you’ll acquire an understanding of Yocto Project tools, helping you perform different Linux-based tasks. You’ll gain a deep understanding of Poky and BitBake, explore practical use cases for building a Linux subsystem project, employ Yocto Project tools available for embedded Linux, and uncover the secrets of SDK, recipe tool, and others. This new edition is aligned with the latest long-term support release of the aforementioned technologies and introduces two new chapters, covering optimal emulation in QEMU for faster product development and best practices. By the end of this book, you’ll be well-equipped to generate and run an image for real hardware boards. You’ll gain hands-on experience in building efficient Linux systems using the Yocto Project.

Who is this book for?

If you are an embedded Linux developer and want to broaden your knowledge about the Yocto Project with examples of embedded development, then this book is for you. Professionals looking for new insights into working methodologies for Linux development will also find plenty of helpful information in this book.

What you will learn

  • Understand the basic Poky workflows concepts along with configuring and preparing the Poky build environment
  • Learn with the help of up-to-date examples in the latest version of Yocto Project
  • Configure a build server and customize images using Toaster
  • Generate images and fit packages into created images using BitBake
  • Support the development process by setting up and using Package feeds
  • Debug Yocto Project by configuring Poky
  • Build an image for the BeagleBone Black, RaspberryPi 4, and Wandboard, and boot it from an SD card

Product Details

Country selected
Publication date, Length, Edition, Language, ISBN-13
Publication date : Apr 28, 2023
Length: 196 pages
Edition : 3rd
Language : English
ISBN-13 : 9781801072144
Category :

What do you get with eBook?

Product feature icon Instant access to your Digital eBook purchase
Product feature icon Download this book in EPUB and PDF formats
Product feature icon Access this title in our online reader with advanced features
Product feature icon DRM FREE - Read whenever, wherever and however you want
Product feature icon AI Assistant (beta) to help accelerate your learning
OR
Modal Close icon
Payment Processing...
tick Completed

Billing Address

Product Details

Publication date : Apr 28, 2023
Length: 196 pages
Edition : 3rd
Language : English
ISBN-13 : 9781801072144
Category :

Packt Subscriptions

See our plans and pricing
Modal Close icon
R$50 billed monthly
Feature tick icon Unlimited access to Packt's library of 7,000+ practical books and videos
Feature tick icon Constantly refreshed with 50+ new titles a month
Feature tick icon Exclusive Early access to books as they're written
Feature tick icon Solve problems while you work with advanced search and reference features
Feature tick icon Offline reading on the mobile app
Feature tick icon Simple pricing, no contract
R$500 billed annually
Feature tick icon Unlimited access to Packt's library of 7,000+ practical books and videos
Feature tick icon Constantly refreshed with 50+ new titles a month
Feature tick icon Exclusive Early access to books as they're written
Feature tick icon Solve problems while you work with advanced search and reference features
Feature tick icon Offline reading on the mobile app
Feature tick icon Choose a DRM-free eBook or Video every month to keep
Feature tick icon PLUS own as many other DRM-free eBooks or Videos as you like for just R$25 each
Feature tick icon Exclusive print discounts
R$800 billed in 18 months
Feature tick icon Unlimited access to Packt's library of 7,000+ practical books and videos
Feature tick icon Constantly refreshed with 50+ new titles a month
Feature tick icon Exclusive Early access to books as they're written
Feature tick icon Solve problems while you work with advanced search and reference features
Feature tick icon Offline reading on the mobile app
Feature tick icon Choose a DRM-free eBook or Video every month to keep
Feature tick icon PLUS own as many other DRM-free eBooks or Videos as you like for just R$25 each
Feature tick icon Exclusive print discounts

Frequently bought together


Stars icon
Total R$ 892.97
Embedded Linux Development Using Yocto Project
R$278.99
Linux Device Driver Development
R$306.99
Mastering Embedded Linux Programming
R$306.99
Total R$ 892.97 Stars icon
Banner background image

Table of Contents

19 Chapters
Chapter 1: Meeting the Yocto Project Chevron down icon Chevron up icon
Chapter 2: Baking Our First Poky-Based System Chevron down icon Chevron up icon
Chapter 3: Using Toaster to Bake an Image Chevron down icon Chevron up icon
Chapter 4: Meeting the BitBake Tool Chevron down icon Chevron up icon
Chapter 5: Grasping the BitBake Tool Chevron down icon Chevron up icon
Chapter 6: Detailing the Temporary Build Directory Chevron down icon Chevron up icon
Chapter 7: Assimilating Packaging Support Chevron down icon Chevron up icon
Chapter 8: Diving into BitBake Metadata Chevron down icon Chevron up icon
Chapter 9: Developing with the Yocto Project Chevron down icon Chevron up icon
Chapter 10: Debugging with the Yocto Project Chevron down icon Chevron up icon
Chapter 11: Exploring External Layers Chevron down icon Chevron up icon
Chapter 12: Creating Custom Layers Chevron down icon Chevron up icon
Chapter 13: Customizing Existing Recipes Chevron down icon Chevron up icon
Chapter 14: Achieving GPL Compliance Chevron down icon Chevron up icon
Chapter 15: Booting Our Custom Embedded Linux Chevron down icon Chevron up icon
Chapter 16: Speeding Up Product Development through Emulation – QEMU Chevron down icon Chevron up icon
Chapter 17: Best Practices Chevron down icon Chevron up icon
Index Chevron down icon Chevron up icon
Other Books You May Enjoy Chevron down icon Chevron up icon

Customer reviews

Top Reviews
Rating distribution
Full star icon Full star icon Full star icon Full star icon Full star icon 5
(8 Ratings)
5 star 100%
4 star 0%
3 star 0%
2 star 0%
1 star 0%
Filter icon Filter
Top Reviews

Filter reviews by




Arnaud Sautaux Aug 12, 2024
Full star icon Full star icon Full star icon Full star icon Full star icon 5
I used to develop with buildroot. This book gave me a greate overview how to build quickly a firmware with Yocto. It's a great addition to the yocto manual.
Feefo Verified review Feefo
dudeman Jun 25, 2023
Full star icon Full star icon Full star icon Full star icon Full star icon 5
Fantastic reference. I wish I had this when I was learning yocto. It also goes VERY in depth into bitbake, adding layers, and the in depth workings and options of building custom recipes by hand. Highly recommend. When I have a yocto project this lives on my desk for months until it's done. This would have cut a month or two of my first yocto projects. Tell your bosses that and get the to pay for this reference manual.Yocto is pretty easy until you hit some weird issue that shouldn't happen but is. This will help you fix that instead of having to ask online communities or trying to rely on web guides referencing ancient versions of yocto.
Amazon Verified review Amazon
MNTKT Jun 19, 2023
Full star icon Full star icon Full star icon Full star icon Full star icon 5
As a long-time Yocto user, I recommend this book to engineers starting with Yocto or already advanced in the topic. The authors considered every aspect of a successful product design with Yocto leading to MVP (Minimum Viable Product). It is a must-read to refresh the memory or learn a new concept on this ever-popular topic. The book's last section includes some best practices that anyone can use to evaluate a current or future project.I enjoyed the many command lines in this book to navigate Yocto and its environment. The examples align with Yocto LTS Kirkstone.When it comes to embedded devices, leveraging QEMU and x86 is critical. This book takes the reader into the details of setting this up. This excellent practice can make a project successful, saving time and money!The Yocto temporary build directory needs clarification for beginners. This book goes into great detail about the structure of this dynamic folder and its content. I found that part very valuable.Ones might find the chapter on generating native SDK critical, especially when sharing a Yocto environment with other developers involved in different parts of the project.Chapter 15 is where the "rubber meets the road" with a selection of standard engineering and development platforms like Raspberry Pi 4 or BeagleBone Black. The authors also introduced another platform based on RISC-V - a cheap computer option.I recommend this book to engineers and software managers to evaluate the complexity of a Yocto project and help with planning. Every chapter is touched individually during the development and release phase. The reader can take a chapter at a time as it relates to each other. A more experienced user can jump through the book to capture the "golden nugget" or new information. I enjoyed the summary at the end of each chapter as a summary.
Amazon Verified review Amazon
Vijo Cherian May 22, 2023
Full star icon Full star icon Full star icon Full star icon Full star icon 5
Very helpful reference to follow along for those working with Yocto.
Amazon Verified review Amazon
Fernando Luiz Cola May 28, 2023
Full star icon Full star icon Full star icon Full star icon Full star icon 5
The Yocto Project is known to have a slow learning curve, even though the project offers great documentation. The complexity of learning how to build a Linux system, the multiple releases of the project, and the fast-changing additions provided by a resourceful community of developers can be daunting tasks for the inexperienced.This book provides a very good starting point for new users of the Yocto Project. It focuses on core and basic aspects of the project, such as those covered in chapters 1 - Meeting the Yocto Project, 2 - Baking Our First Poky-Based System, 4 - Meeting the BitBake Tool, 9 - Developing with the Yocto Project, 11 - Exploring External Layers, 12 - Creating Custom Layers, 13 - Customizing Existing Recipes, and 15 - Booting Our Custom Embedded Linux.On the other hand, a seasoned Yocto Project user can leverage new tips, advice, and guidelines found in chapters 6 - Detailing the Temporary Build Directory, 7 - Assimilating Packaging Support, 10 - Debugging with the Yocto Project, 14 - Achieving GPL Compliance, 16 - Speeding Up Product Development through Emulation - QEMU, and 17 - Best Practices.Chapter 17 - Best Practices provides interesting practices that can help increase the quality of projects, reduce time-to-market, and significantly reduce project costs.I particularly liked the remarks about QEMU and licensing compliance in chapters 16 - Speeding Up Product Development through Emulation - QEMU and 14 - Achieving GPL Compliance. The authors make excellent remarks on those subjects.Overall, the book is an excellent addition for professionals, students, and developers looking to increase their skills in the Yocto Project. It is a good companion to the official Yocto documentation, helping to facilitate the learning process.
Amazon Verified review Amazon
Get free access to Packt library with over 7500+ books and video courses for 7 days!
Start Free Trial

FAQs

How do I buy and download an eBook? Chevron down icon Chevron up icon

Where there is an eBook version of a title available, you can buy it from the book details for that title. Add either the standalone eBook or the eBook and print book bundle to your shopping cart. Your eBook will show in your cart as a product on its own. After completing checkout and payment in the normal way, you will receive your receipt on the screen containing a link to a personalised PDF download file. This link will remain active for 30 days. You can download backup copies of the file by logging in to your account at any time.

If you already have Adobe reader installed, then clicking on the link will download and open the PDF file directly. If you don't, then save the PDF file on your machine and download the Reader to view it.

Please Note: Packt eBooks are non-returnable and non-refundable.

Packt eBook and Licensing When you buy an eBook from Packt Publishing, completing your purchase means you accept the terms of our licence agreement. Please read the full text of the agreement. In it we have tried to balance the need for the ebook to be usable for you the reader with our needs to protect the rights of us as Publishers and of our authors. In summary, the agreement says:

  • You may make copies of your eBook for your own use onto any machine
  • You may not pass copies of the eBook on to anyone else
How can I make a purchase on your website? Chevron down icon Chevron up icon

If you want to purchase a video course, eBook or Bundle (Print+eBook) please follow below steps:

  1. Register on our website using your email address and the password.
  2. Search for the title by name or ISBN using the search option.
  3. Select the title you want to purchase.
  4. Choose the format you wish to purchase the title in; if you order the Print Book, you get a free eBook copy of the same title. 
  5. Proceed with the checkout process (payment to be made using Credit Card, Debit Cart, or PayPal)
Where can I access support around an eBook? Chevron down icon Chevron up icon
  • If you experience a problem with using or installing Adobe Reader, the contact Adobe directly.
  • To view the errata for the book, see www.packtpub.com/support and view the pages for the title you have.
  • To view your account details or to download a new copy of the book go to www.packtpub.com/account
  • To contact us directly if a problem is not resolved, use www.packtpub.com/contact-us
What eBook formats do Packt support? Chevron down icon Chevron up icon

Our eBooks are currently available in a variety of formats such as PDF and ePubs. In the future, this may well change with trends and development in technology, but please note that our PDFs are not Adobe eBook Reader format, which has greater restrictions on security.

You will need to use Adobe Reader v9 or later in order to read Packt's PDF eBooks.

What are the benefits of eBooks? Chevron down icon Chevron up icon
  • You can get the information you need immediately
  • You can easily take them with you on a laptop
  • You can download them an unlimited number of times
  • You can print them out
  • They are copy-paste enabled
  • They are searchable
  • There is no password protection
  • They are lower price than print
  • They save resources and space
What is an eBook? Chevron down icon Chevron up icon

Packt eBooks are a complete electronic version of the print edition, available in PDF and ePub formats. Every piece of content down to the page numbering is the same. Because we save the costs of printing and shipping the book to you, we are able to offer eBooks at a lower cost than print editions.

When you have purchased an eBook, simply login to your account and click on the link in Your Download Area. We recommend you saving the file to your hard drive before opening it.

For optimal viewing of our eBooks, we recommend you download and install the free Adobe Reader version 9.