Services

Training

We are currently offering a series of courses targeting embedded Linux development with the Yocto Project and OpenEmbedded. If you do not see a course that fits your needs and meets your requirements, please contact us. We might be able to develop a course that is right for you and your team.

Embedded Linux Development

Introduction into the Yocto Project

This half-day class in the format of a presentation gives participants overview and insight into the Yocto Project. The course addresses:

  • Linux for embedded systems
  • Challenges of embedded Linux development
  • Comparison between the Yocto Project and other ways of developing Linux operating system stacks for embedded devices
  • Organization of the Yocto Project as an open-source collaborative project – who is involved, who supports it technically, who supports it financially
  • Development workflow and tools
  • Advanced topics such as Linux kernel development and application software development with Eclipse and Qt Creator

This course is suited for engineers who are looking to gain an overview of the technical aspects as well as managers who are interested in making a decision on what tools to use for embedded Linux development. The class is not an instructional course on how to work with the Yocto Project but an introduction into the concepts.

 

Duration: 4 hours

Prerequisites: None

 

Yocto Project Course

A 4-day hands-on course teaching the ins and outs of the Yocto Project:

  • Linux for embedded systems
  • Jumpstarting Yocto Project development
  • Working with the OpenEmbedded build system
  • Understanding the Bitbake build engine
  • Troubleshooting build failures
  • Introduction into the Linux system architectures
  • Building a custom Linux distribution
  • Writing build recipes for software packages
  • Configuring and building the Linux kernel
  • Developing board support packages (BSP)
  • License management and compliance

This course is for software and hardware engineers who are looking to build GNU/Linux operating system stacks for devices. The course is hands-on and uses emulated as well as actual hardware targets such as the popular development boards Beaglebone, RaspberryPi, Minnowboard.

 

Duration: 4 days

Prerequisites: As all work is done on a Linux host system, participants need working knowledge of the Linux command line, how to navigate directories, execute commands and scripts, use an editor to write and modify text files. Some knowledge of Python is helpful as the build system is written in Python.

 

Yocto Project – Crash Course

A 2-day shortened version of the Yocto Project Course teaching the basics of the Yocto Project:

  • Linux for embedded systems
  • Jumpstarting Yocto Project development
  • Working with the OpenEmbedded build system
  • Understanding the Bitbake build engine
  • Troubleshooting build failures
  • Building a custom Linux distribution
  • License management and compliance

This course is for application developers who are looking to build GNU/Linux operating system stacks focusing on the Linux user-space. The course is hands-on and uses emulated target. Unlike the full course, this course will not go into the details of the architecture of a Linux system, teach how to configure the Linux kernel or create board support packages.

 

Duration: 2 days

Prerequisites: As all work is done on a Linux host system, participants need working knowledge of the Linux command line, how to navigate directories, execute commands and scripts, use an editor to write and modify text files. Some knowledge of Python is helpful as the build system is written in Python.

 

Custom Yocto Project Course

This is a 5-day course teaching everything the Yocto Project Course does but using a hardware target that the customer chooses, typically the customer’s hardware or a development board close to the customer’s hardware. At the end of the course participating students are able to build a custom Linux distribution for their company’s hardware including a board support package (BSP).

This course requires upfront work and for the customer to provide us with their hardware.

 

Duration: 5 days

Prerequisites: As all work is done on a Linux host system, participants need working knowledge of the Linux command line, how to navigate directories, execute commands and scripts, use an editor to write and modify text files. Some knowledge of Python is helpful as the build system is written in Python.

 

Yocto Project for Application Developers

Application developers have different requirements than system developers – their focus is on developing programs and applications on top of a working operating system stack. They are looking for software development kits (SDK) and integrated development environments (IDE) that support them to quickly write and deploy applications.

  • Introduction into development toolchains for cross development
  • Understanding the Yocto Project SDK
  • Working with the SDK command line tools to write and build application programs and test them on a target
  • On-target debugging with the GNU debugger (gdb)
  • Integrating the SDK with Eclipse or Qt Creator (customer choice)
  • Round-trip development with Eclipse or Qt Creator

This course is offered either using an emulated target or an actual hardware target. Customer has a choice of either using the Eclipse IDE or the Qt Creator IDE.

 

Duration: 2 days for emulated target / 3 days for hardware target

Prerequisites: Participants should have a working knowledge on how to write basic C programs on Linux, compile them and run them.

 

Yocto Project DevOps with Gitlab, Docker and Amazon Web Services (AWS)

Nightly builds, weekly builds, production builds followed by smoke tests and quality assurance once were the cornerstone of the software development cycle. This has been superseded by continuous integration, automated build, test and deployment and development operations (DevOps).

This course teaches:

  • Introduction into Git as source and revision control tool
  • Concepts of Git branching, development and production branches
  • Setting up Gitlab for management of source code and development collaboration
  • Concepts of collaborative development with merge requests
  • Setup of automated Yocto Project builds using Gitlab CI (Continuous Integration)
  • Configuration Gitlab runners on servers
  • Setup and configuration of a scalable build farm with Gitlab CI, Docker and AWS EC2 (Elastic Compute Cloud)

This course is for build and CI engineers looking to learn and understand how they can support their development teams by setting up a software factory for the Yocto Project.

 

Duration: 3 days

Prerequisites: Participants should have an understanding of AWS and need an AWS account to work through the hands-on sessions of the course. Participants should have a working knowledge of Linux, how to change directories, edit files, run programs and scripts, etc.

Why Choose Us

We know that you have many options when choosing a consulting partner for your engineering and development projects. We are not trying to be everything for everybody but excel in what are our core competencies and main expertise. Please call us or fill out a contact form. We would be happy to talk with your teams about your requirements and how we can assist them.

Honest Services

We provide detailed estimates breaking down the effort required for a project into measurable tasks, so that you have a clear understanding what is necessary to successfully complete your project. During the project we provide you with regular progress updates, inform you of any potential risks that could jeopardize schedule and cost, and suggest mitigation strategies.

Collaboration

We work side-by-side with your teams to ensure that the project progresses to their expectations and guarantee that your engineers have everything they need to continue and maintain the work after our part has been completed and delivered.

On Time Delivery

Time is of the essence in our fast-moving business world. We understand that you are on a schedule and we ensure that we deliver to it as part of our commitment to you and your project.

Request Information on Services

Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry’s standard dummy text ever since.