Yocto project – Building Embedded Linux

Commencing soon..Click Here To Register
Goal: Get started with Yocto framework setup. Build your custom Embedded Linux using Yocto by understanding templates, tools and methods provided. By the end of the workshop you will have hands-on exposure with all components of Yocto project.
Target audience: Working professionals who want to get started with Yocto project and create Embedded Linux distribution custom built for their applications
Duration: 3 days + One month lab assistance
Benefits:
Yocto project – Building Embedded Linux course overview:
- Efficiency: Create custom Embedded Linux distributions quickly by leveraging Yocto
- DIY approach: Build a custom distribution in a hands-on manner for ARM target
- Package management: Learn BitBake leverage its power for managing packages
- Development work-flow: Get hands-on exposure to DevTool and Quilt
- Lab support: For one month to ensure follow-up on assignments and projects
- Expert trainers: Delivered by industry experienced expert trainers
Admission procedure:
- Call us at +91 809 555 7333 (Mobile), +91 80 4128 9576 (Office) and enroll
- Simply send us an email training@emertxe.com
Our Yocto workshop start with building basic understanding of build system by giving an overview and comparison between them. Then it introduces benefits of Yocto project and takes a step-by-step approach to enable you create your own custom Embedded Linux distribution.
Key takeaways:
- Understand key benefits of Yocto build to build your Embedded Linux efficiently
- Setup your own build environment and build a distribution
- Customize your distribution by writing recipes, patches and binary packages
- Build architectural view of Yocto – BSP, Distro and Images
- Learn application development workflow with Yocto project SDK
Topics covered:
Download yocto training course syllabus from link provided below.
- Introduction to Embedded Linux build systems
- Yocto project and Poky overview
- Yocto project basic setup and build
- Advanced usage of Yocto
- Writing recipes
- BSP and distro layers
- Images
- Application development workflow
Prerequisites:
- Basic Linux OS knowledge in any distribution
- Basic hands-on Linux Usage
Platform details:
- Any Linux platform (Preferably Ubuntu)
- Beagle Bone Black (As Embedded target)
Embedded Linux using Yocto training start schedule along with schedule for Embedded systems classes – regular and weekend. Flexible weekend embedded classes for working professionals, regular classes for students.
Course | Schedule | Duration |
Job oriented regular batches – For Freshers | ||
Emertxe Certified Embedded Professional | 27 Aug – 2019 (Registrations open) 30 July – 2019 (Registrations closed) | 6 months |
Weekend batches – For working professionals | ||
Emertxe Certified Embedded Professional (Advanced) | 6 July – 2019 (Registrations open) 9 Mar – 2019 (Registrations closed) | 13 Weekends / 26 Days |
Emertxe Certified Embedded Professional (Intermediate) | 6 July – 2019 (Registrations open) 9 Mar – 2019 (Registrations closed) | 11 Weekends / 22 Days |
Weekend workshops – For working professionals | ||
Yocto project – building embedded linux | Contact Office … | 3 days + 1 Month Lab Assistance |
Embedded Android System Development | 22,23,29,30 June – 2019 (Registrations closed) | 4 days + 1 Month Lab Assistance |
Linux Systems & Basic Shell Scripting | 6,7 July – 2019 (Registrations closed) | 2 days + 2 Weeks Lab Assistance |
Advanced C / Embedded C | 13,14,20,21,27 July – 2019 (Registrations open) | 5 days + 1 Month Lab Assistance |
Data Structures | 3,4,10 Aug – 2019 (Registrations open) | 3 days + 1 Month Lab Assistance |
Micro-Controllers | 11,17,18,24 Aug – 2019 (Registrations open) | 4 days + 1 Month Lab Assistance |
Linux Internals & Network Programming | 24,25,31 Aug – 2019 & 1 Sept – 2019 (Registrations open) | 4 days + 1 Month Lab Assistance |
Embedded Linux on ARM (ELARM) | 7,8,14,15 Sept – 2019 (Registrations open) | 4 days + 1 Month Lab Assistance |
C++ | 21,22 Sept – 2019 (Registrations open) | 2 days + 1 Month Lab Assistance |
Qt Application Programming with C++ | 28,29 Sept – 2019 & 5,6 Oct – 2019 (Registrations open) | 4 days + 1 Month Lab Assistance |
Linux device drivers | 1,2,8,9 June – 2019 (Registrations closed) | 4 days + 1 Month Lab Assistance |
Course - FAQ
What are the prerequisites to take up this course?
Participants need to have following prerequisites to take up this course.
- Familiar with the UNIX or Linux command line interface
- Scripting
- Python(Added Advantage)
- Embedded Linux
Will I learn to create a custom BSP in the course?
Yes. You will get to learn this.
I am aware of buildroot. What more is taught on this course?
Knowing buildroot would be an added advantage for this course. However in this course you will be learning some of the unique features of Yocto using which you can create your own Linux distribution faster and easier. One of key element you will learn is about automating the build by writing the recipes.
Will I be creating my custom distribution during the course?
Yes. You will create a custom distribution and boot it up in the Beagle Bone Black as the target hardware.
Which target platform is used in this course?
In this course Beaglebone Black is used as a target platform. It is one of the most popular low-cost, community-supported development platform for developers and hobbyists.
It has got AM335x 1GHz ARM® Cortex-A8 processor with software compatibility with most of the popular Linux distributions (ex: Ubuntu). However learnings from these courses can be applied in any standard or customized target platform which is capable of running Embedded Linux.
Projects - FAQ
What do you mean by software development workflow in Yocto?
Refer to Yocto Documentation - Workflow section to get all details about workflows in Yocto.
How to build toolchains for Embedded Systems?
One item that all build systems require is a toolchain: a compiler, assembler, linker, and other binary utilities necessary for creating binary executable files for a given architecture. Poky (reference distribution for Yocto project) uses the GNU Compiler Collection (GCC), but you can specify other toolchains as well.
Poky uses a technique known as cross-compilation: using a toolchain on one architecture to build binary executable files for a different architecture (for example, building an ARM distribution on an x86-based system). Developers often use cross-compilation in embedded systems development to take advantage of the host system's higher performance.
What kind of development environment required to get started with Yocto?
Build Host: A build host with a minimum of 50 Gbytes of free disk space that is running a supported Linux distribution (i.e. recent releases of Fedora, openSUSE, CentOS, Debian, or Ubuntu).
Build Host Packages: Appropriate packages installed on the build host.
The Yocto Project team verifies each release against recent versions of the most popular Linux distributions that provide stable releases. In general, if you have the current release minus one of the following distributions, you should have no problems.
- Ubuntu
- Fedora
- openSUSE
- CentOS
- Debian
The OpenEmbedded build system should be able to run on any modern distribution that has the following versions for Git, tar, and Python.
- Git 1.8.3.1 or greater
- tar 1.27 or greater
- Python 3.4.0 or greater
What are the key advantages of Yocto over other existing build systems?
There are many advantages of using Yocto, which are mentioned below.
- Highly Customizable: It has a powerful customization architecture that allows the choice of a wide variety of footprint sizes as well as control over the choice or absence of components such as graphics subsystems, visualization middleware, and services. This helps you to create custom Linux distribution exactly as per your requirements.
- Package selection and compatibility: A complete set of Linux package versions is specified in the metadata for the project; these versions are known to work correctly together. A robust effort within the project is dedicated to keeping this selection of packages fresh and up-to-date. Unlike other systems, however, only a single version of each package is typically provided with the project at any given time. This ensures that the packages are known to work well together, while providing the freedom to replace them at any time as the needs of a given embedded project mature.
- Package and architecture Agnostic: Yocto Project is package-format agnostic - supporting both major Linux packaging systems (.rpm and .deb), as well as the embedded-friendly ipk format. The Yocto Project is also architecturally agnostic - supporting all major embedded architectures: ARM, 32- and 64-bit x86, PowerPC, and MIPS.
- Easy to get started: The Yocto Project shares the core build tool (BitBake) and metadata syntax with OpenEmbedded, particularly the core set of components known as openembedded-core. This commonality provides automatic familiarity for developers already using OpenEmbedded. However, the learning curve for getting started with the Yocto Project is less steep. It is easier for new users to create a working distribution with the Yocto Project, and more work is being done currently on this subject with the new Hob graphical user interface.
- SDK support: When a distribution is created with the Yocto Project, the build tool creates an application development SDK tailored to that distribution. This SDK can plug into the Eclipse IDE or it can be run as a command-line development system, complete with cross tools for the host and development tools for the device being developed.
How Yocto helps to create a custom distributions faster?
- 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.
- Unlike build systems based on shell scripts or makefiles, the Yocto Project automates how source is fetched from a variety of upstream sources or from local project repositories.
- Existing embedded developers have many systems from which to choose. Once a system is chosen and a device's OS has been created, it can often be very difficult and time consuming to trim the distribution to an appropriate footprint size and assemble a working set of components.
- Then, for the developer’s next project, if updated components are needed, perhaps for bug fixes, security fixes, or new hardware support, the developer typically must start over, with little ability to re-use prior work on distributions.
- The Yocto Project solves these problems by providing a single focus for embedded development, requiring less time to get a working and up-to-date distribution together. In addition, if commercial support is desired, it is quite simple to transition to a supporting operating system vendor (OSV) who offers products and services compatible with the Yocto Project. All of the major embedded Linux OSVs are active members of the Yocto Project.
Trainer - FAQ
Who are the trainers?
Trainers (our mentors) for this workshop are professionals who have worked with various corporate organizations like Samsung, HP, Novell, Huawei etc, who bring in 12+ years of experience on average. Our mentors understand industry requirements very well in order to maximize the value. Added to that, our mentors are passionate about training, which enables you to write a device driver on your own by the end of the workshop.
What do you mean by one month of lab assistance?
Linux Internals & Networking workshop is conducted on two consecutive weekends. Contents are delivered in a workshop manner, which is power packed. However to realize the real benefit of this workshop, participants need to work on some real time projects / assignments to make the learning effective. In order to support this need, we provide one month lab assistance after the course. During this period our mentors will be providing you support when you are facing difficulty in building projects using Linux system calls. This includes debugging issues in pair or clarifying your doubts using our online ecosystem. This way your learning will be complete & effective.