Embedded Linux Training
  • 4-Days, Hands-On
  • Cross development, Kernel, Root FS, Bootloader
  • Covers building entire system straight from source
  • Instructor: Karim J. Yaghmour, O'Reilly® Author
  • 1,995$/student

Contact us for an on-site session quote
References and Testimonials

Please contact us if you would like to schedule an on-site training session. We can also customize the content of the class to better suite your team's needs. This may be useful if you have a specific hardware and/or software project platform/framework in mind.


  • January 24-28
  • March 21-25
  • May 16-20
  • July 11-15

This course is aimed at embedded system developers who want to acquire the know-how to put together embedded Linux systems without having to purchase any prepackaged distribution or pay any per-unit royalties. In other words, students will leave with the knowledge of how to build embedded Linux systems using open source and free software packages freely available on the Internet.

Each topic covered by the course is discussed in lecture form and exercised through instructor-led hands-on sessions. During this class, students will get to:

  • Build a GNU toolchain for cross-development
  • Build a customized kernel for a designated target
  • Populate a root filesystem
  • Set up a target's solid-state storage devices
  • Configure a bootloader for booting a customized kernel with its root filesystem from a solid-state storage device

An additional goal of this class is to enable students to better understand how open source and free software packages are developed and how to best take advantage of the resources provided by the community developing this software.

  • Introduction
  • Development workspace
  • Kernel basics
  • Bootloader setup
  • Root filesystem
  • Manipulating solid-state storage devices
  • Choosing and installing the root filesystem
  • Kernel internals
  • Linux hardware support
  • Device driver overview
  • Kernel debugging primer
  • Real-time Linux basics
  • Application debugging
  • Networking services
  • User interfaces
  • Development tools setup
  • Linux, the human factor

The actual class content and order of material presented is subject to slight changes, depending on attendee needs and interest.

The use of Linux in embedded systems draws on many fields of specialty which are often taught separately. This course presents attendees with the combined knowledge required to build embedded Linux systems. In order for attendees to benefit most from this course, however, we expect each attendee to have basic knowledge in the following fields:

  • Embedded systems development
  • C programming
  • Basic Unix/Linux command-line interface experience

Karim J. Yaghmour is part serial entrepreneur part unrepentant geek. His experience combines a unique mix of mobile, embedded and kernel background with enterprise and web2.0/consumer-oriented Rich Internet Application development. Karim is the author of O'Reilly's Embedded Android and Building Embedded Linux Systems, which sold tens of thousands of copies worldwide and has been translated into several different languages.

Karim has provided training to companies such as: Motorola, Panasonic, NSA, BAE Systems, Conexant, Symbol, Scientific-Atlanta, and Karl Suss Gmbh. Some of Karim's recent mandates include leading development teams delivering products based on a variety of different platforms (.NET/Windows, BlackBerry, Linux, Drupal, Lotus Notes), technologies (Ajax, SQLite, PostgreSQL, CSS/HTML, jQuery/jQueryUI, ActiveDirectory/LDAP, MAPI, WebBrowser object) and programming languages (C#, Java, PHP, JavaScript, Perl, Python, Ruby on Rails, C++).

Having been an early believer in the power of open source, Karim pioneered the world of Linux tracing by introducing the Linux Trace Toolkit (LTT) in the late '90s. He continued maintaining LTT through 2005 and was joined in this effort by developers from several companies, including IBM, HP, and Intel. LTT users included: Google, IBM, HP, Oracle, Alcatel, Nortel, Ericsson, Qualcomm, NASA, Boeing, Airbus, Sony, Samsung, NEC, Fujitsu, SGI, RedHat, Thales, Oerlikon, Bull, Motorola, ARM, ST Micro, Infineon, WindRiver, MontaVista, Scientific-Atlanta, Wipro and Autodesk. Other contributions include relayfs and Adeos.

Karim has presented and published as part of a number of peer-reviewed scientific conferences, magazines and online publications, including Usenix, the Linux Kernel Summit, the Embedded Linux Conference, the Android Builders Summit, AnDevCon, the Embedded Systems Conference, AndroidOpen, the Ottawa Linux Symposium, LinuxJournal, the O'Reilly Network and the Real-Time Linux Workshop. Some of Karim's projects can be found in our Community section. Karim holds Masters and Bachelors degrees in Computer Engineering from the École Polytechnique de Montréal.

All our courseware is available under a CC-BY-SA 3.0 license. Why?

  • First, we believe that the value of a class is derived from providing instructors recognised as leading experts in their field, not the courseware. Our instructors are not only recognised for their technical achievements, but they are active public speakers at international conferences and forums with an exceptional ability and passion for sharing their knowledge. Our instructors' value is especially prized during our class' hands-on sessions, which occupy more than half of class time, since they are able to pull on their vast experience in assisting attendees in isolating the source of issues they encounter and explaining the underlying theory and wider context pertaining to that topic.
  • Second, we think it's great for past students to continue having access to the latest version of the courseware they used. Whether it be for keeping up-to-date or explore new material, future versions of our class material will always be available to you.
  • Third, our company was built on and lives in the open source ecosystem. Sharing is fundamental to what we do every day.

We, of course, welcome any comments or updates you may have on our courseware. Please send feedback to courseware@opersys.com.

Slides: PDF | ODP
Exercises: PDF | ODT

Pricing: 1,995$/student. Contact us for an on-site session quote.
Attendance: 12 students max.
Although we do sometimes accept to train larger groups in on-site settings, we believe that a 12 student cap ensures an optimal instructor/attendee ratio in the context of a public session.
Location: No public sessions are presently scheduled
  • Each attendee must provide their own laptop for the class. Please make sure it is mid-top range, is less than 2 years old, has 20GB free storage and, most importantly, has Linux installed -- preferably Ubuntu.
  • An embedded development target (PPC or ARM) will be provided to each student attending the class. Students who want to bring their own hardware must notify the instructor at registration.
Courseware: All our courseware is available under CC-BY-SA 3.0; just click on the above "Courseware" thumbnail to download it.
Schedule: Classes run from 9 to 5, with breaks in the morning, at lunch and in the afternoon.
Payment: Opersys accepts all major credit cards, wire transfers and corporate checks drawn on US banks in US funds.
Policies: Students must register and pay all tuition fees prior to class start. Registrations cannot be canceled, though we will do our best to accommodate your situation. Class cancellations are very uncommon (and have never happened as of this writing), but, were they to occur, you would be notified as soon as possible and your tuition fees would be refunded in full.

This class can be given on-site and can be customized to your organization's needs. In addition to English, this class can also be taught in French. For more information regarding this class' logistics or to schedule an on-site session, please contact us.