Enroll now in an upcoming course
2 Days - $1400
No open enrollment classes scheduled at this time.
Gain a solid understanding of embedded development using the Yocto Project, including the Poky build process and Bitbake, the use of emulators, building images for multiple architectures and the creation of board support packages (BSP).
Experience the Course
This two-day course is a condensed version of our full five-day class, LF405: Building Embedded Linux with Yocto. In order to save time, some sections of the full five-day course are abbreviated or skipped, depending on the needs and interests of the audience.
The Yocto Project is an open source collaboration project that provides templates, tools and methods to help you create custom Linux-based systems for embedded products regardless of the hardware architecture. The Yocto Project includes the Poky Build System as one of its components, which is a derivative of and is compatible with the OpenEmbedded Build System.
This course is designed to jump-start embedded development projects using the Yocto Project and to give software engineers a solid understanding of the build process from compilation over packaging to creating a bootable image. Upon mastering you will have a solid understanding of:
- The Poky and Bitbake build process with its recipes and layers to customize Linux kernel and packages for a custom embedded application
- Building Linux images for different profiles and across multiple architectures
- The use of emulators for verification
- The creation of board support packages (BSP) for their target hardware
Students are expected to provide their own computers for the class.
As part of your registration, a printed copy of the course manual will be mailed to you. Expect 3-5 days for US delivery and 7-10 days for international deliveries.
For more details view the Course Outline.
This course is primarily intended for experienced software engineers who are interested in learning the fundamentals of a build system for embedded Linux. The purpose of the class is to shorten the learning curve by providing a guided tour combining lecture and practical exercises of building and customizing embedded Linux systems.
- Be proficient in the C programming language.
- Be familiar with basic Linux (Unix) utilities, such as ls, rm, grep, tar, and have a familiarity with command shells and scripts.
- Be comfortable using any of the available text editors (e.g. vi, emacs).
- Know the basics of compiling and linking programs, constructing Makefiles, etc.; i.e. be comfortable doing application developing in a Linux or Unix environment.
- Have a good understanding of systems programming in a Unix or Linux environment, at least from the standpoint of writing applications.
- Knowledge of the Python scripting language is beneficial but not strictly required.
If you have a basic understanding of the top-level principles of cross development, where a host system is used to develop and compile software that runs on a different target system, it would be helpful.
The course will survey the wide range of CPUs supported by the Linux community that are used in embedded systems, as well as some other hardware components that have good support. The purpose is to introduce resources that can be used to guide component selection when designing embedded systems.