Embedded Linux Development with Yocto Project

Embedded Linux Development with Yocto Project Cover

We were kindly provided a copy of Embedded Linux Development with Yocto Project, written by Otavio Salvador and Daiane Angolini. It is available at Packt Publishing, either in an electronic format (DRM free) or printed.

This book will help you start with your embedded system development and integration using the Yocto Project or OpenEmbedded.

The first chapter sheds some light on the meaning of commonly misused names: Yocto Project, Poky, OpenEmbedded, BitBake. Then, it doesn’t waste time and explains how to install and use Poky to build and then run an image. The entire book is full of examples that can easily be tested, providing useful hands-on experience, using Yocto Project 1.6 (Poky 11).

The following chapters cover:

  • Hob: a user friendly interface, however, it will soon be deprecated and replaced by Toaster.
  • BitBake and Metadata: how to use BitBake, how to write recipes for packages or images, how to extend existing recipes, how to write new classes, how to create a layer, where to find existing layers and use them.
  • The build directory layout: what the generated files are, and what their use is.
  • Packaging: how to generate different package formats, how to handle a package feed and the package versions.
  • The various SDKs that can be generated and their integration in Eclipse.
  • Debugging the metadata: what the common issues are, how to find what is going wrong, and solving these issues.
  • Debugging the applications on the target: how to generate an image with debugging tools installed.
  • Available tools to help achieve copyleft compliance: in particular, how to cope with the GPL requirements.

Finally, there is a chapter dedicated to explaining how to generate and run an image on the Wandboard, an i.MX6 based community board.

The book is easy to read, with plenty of examples and useful tips. It requires some knowledge about generic embedded Linux system development (see our training) as only the Yocto Project specifics are covered. I would recommend it both for beginners wanting to learn about the Yocto Project and for developers wanting to improve their current knowledge and their recipes and also understand the BitBake internals.

Speaking of the Yocto Project, it is worth noting that Bootlin is now offering a Yocto Project and OpenEmbedded training course (detailed agenda). If you’re interested, join one of the upcoming public training sessions, or order a session at your location!

Bootlin at the Embedded Linux Conference Europe

DüsseldorfThe Embedded Linux Conference Europe will take place on October 13-15 in Düsseldorf, Germany. As usual, a large part of the Bootlin engineering team will participate to the conference, with no less than 7 engineers: Alexandre Belloni, Boris Brezillon, Grégory Clement, Michael Opdenacker, Thomas Petazzoni, Maxime Ripard and Antoine Ténart.

Several of our talk proposals have been accepted, so we’ll be presenting about the following topics:

In addition to this participation to the Embedded Linux Conference Europe:

  • Many of us will also participate to the Linux Plumbers conference, on October 15-17. It’s another great opportunity to talk about topics around real-time, power management, storage, multimedia, and more.
  • Thomas Petazzoni will participate to the next Buildroot Developers Meeting.

As usual, we’re looking forward to this event! Do not hesitate to get in touch with us if you’re interested in meeting us during these events for specific discussions.

Embedded Linux training update: Atmel Xplained, and more!

Atmel SAMA5D3 Xplained boardWe are happy to announce that we have published a significant update of our Embedded Linux training course. As all our training materials, this update is freely available for everyone, under a Creative Commons (CC-BY-SA) license.

This update brings the following major improvements to the training session:

  • The hardware platform used for all the practical labs is the Atmel SAMA5D3 Xplained platform, a popular platform that features the ARMv7 compatible Atmel SAMA5D3 processor on a board with expansion headers compatible with Arduino shields. The fact that the platform is very well supported by the mainline Linux kernel, and the easy access to a wide range of Arduino shields makes it a very useful prototyping platform for many projects. Of course, as usual, participants to our public training sessions keep their board after the end of the course! Note we continue to support the IGEPv2 board from ISEE for customers who prefer this option.
  • The practical labs that consist in Cross-compiling third party libraries and applications and Working with Buildroot now use a USB audio device connected to the Xplained board on the hardware side, and various audio libraries/applications on the software side. This replaces our previous labs which were using DirectFB as an example of a graphical library used in a system emulated under QEMU. We indeed believe that practical labs on real hardware are much more interesting and exciting.
  • Many updates were made to various software components used in the training session: the toolchain components were all updated and we now use a hard float toolchain, more recent U-Boot and Linux kernel versions are used, etc.

The training materials are available as pre-compiled PDF (slides, labs, agenda), but their source code in also available in our Git repository.

If you are interested in this training session, see the dates of our public training sessions, or order one to be held at your location. Do not hesitate to contact us at training@bootlin.com for further details!

It is worth mentioning that for the purpose of the development of this training session, we did a few contributions to open-source projects:

Thanks a lot to our engineers Maxime Ripard and Alexandre Belloni, who worked on this major update of our training session.

Embedded Linux course in Madrid – July 7-11

We are happy to announce a new Embedded Linux training course on July 7-11, in Madrid, Spain.

IGEPv2 boardIt is organized by our partners ISEE (the makers of the IGEPv2 board that we are using in this course), and Silica, a well known component is distributor who is welcoming the session in its offices in Madrid.

The course will be instructed in English by our trainer Marcin Bis. Marcin Bis

The registrations are directly handled by ISEE. See details.

Bootlin at Embedded World 2014, Nuremberg, Germany

Embedded World 2014, Germany

Embedded World is the world’s largest trade show about embedded systems. In 2013, it attracted around 900 exhibitors, over 22,000 visitors and almost 1,500 congress participants.

This year, Bootlin will be represented by our CEO Michael Opdenacker. This should be a great opportunity for us to understand our customers better, by meeting embedded system makers, by seeing what their needs are and what technologies they use. It will also be an opportunity to meet well known members of the technical community. In particular, here are a few well know people who are going to speak at the congress:

Don’t hesitate to contact us if you are attending this event too and are interested in knowing Bootlin better, for business, partnership or even career opportunities!

New training materials: boot time reduction workshop

We are happy to release new training materials that we have developed in 2013 with funding from Atmel Corporation.

The materials correspond to a 1-day embedded Linux boot time reduction workshop. In addition to boot time reduction theory, consolidating some of our experience from our embedded Linux boot time reduction projects, the workshop allows participants to practice with the most common techniques. This is done on SAMA5D3x Evaluation Kits from Atmel.

The system to optimize is a video demo from Atmel. We reduce the time to start a GStreamer based video player. During the practical labs, you will practice with techniques to:

  • Measure the various steps of the boot process
  • Analyze time spent starting system services, using bootchartd
  • Simplify your init scripts
  • Trace application startup with strace
  • Find kernel functions taking the most time during the boot process
  • Reduce kernel size and boot time
  • Replace U-Boot by the Barebox bootloader, and save a lot of time
    thanks to the activation of the data cache.

Creative commonsAs usual, our training materials are available under the terms of the Creative Commons Attribution-ShareAlike 3.0 license. This essentially means that you are free to download, distribute and even modify them, provided you mention us as the original authors and that you share these documents under the same conditions.

Special thanks to Atmel for allowing us to share these new materials under this license!

Here are the documents at last:

The first public session of this workshop will be announced in the next weeks.
Don’t hesitate to contact us if you are interested in organizing a session on your site.

Embedded Linux and kernel engineer job openings

Bootlin team

We’re getting busier than ever! Bootlin is looking for developers:

  • With experience developing embedded Linux systems
  • With experience developing device drivers for the Linux kernel, and porting Linux on new hardware. See our contributions to the mainline Linux kernel!
  • With technical writing skills and an interest for training

We need to fill at least 2 open positions in the next months, and more will follow in 2014.

Newly graduated engineers are welcome too, provided they already have experience in the above technical fields or with Free Software development.

This time, we are looking for people who will be able to join one of our offices in France (Toulouse or Avignon), to strengthen our engineering teams there.

  • Toulouse is a dynamic city with lots of high-tech and embedded systems companies in particular. Our office in Colomiers can easily be reached by train from downtown Toulouse if you wish to settle there. You would be working with Maxime Ripard and our CTO Thomas Petazzoni.
  • Our main office is settled in Orange in the heart of the Provence region, close to Avignon, a smaller but dynamic city too. It enjoys a sunny climate and the proximity of the Alps and the Mediterranean sea. Accommodation is very affordable and there are no traffic issues! You would be working with our founder Michael Opdenacker and of course remotely with the rest of the engineering team. In particular, we are interested in foreign engineers who could help us develop our services in their home countries.

If you are unable to relocate this time, don’t hesitate to contact us anyway. Depending on your profile and experience, we are still planning to open home based jobs in a few months or years from now.

If you are interested in these positions, here are nice opportunities to meet us in the next weeks:

See a full description and details about how to contact us.

Embedded Linux, kernel and Android engineer job openings (2012)

Home based jobs in Europe or at one of our offices in France

Penguin worksTo meet increasing demand for its Embedded Linux, kernel and Android engineering services, Bootlin is looking for developers:

  • With experience developing embedded Linux systems
  • With experience developing device drivers for the Linux kernel, and porting Linux on new hardware
  • With visible contributions to Free Software used in embedded systems, such as the Linux kernel, BusyBox, build systems, compilers…
  • With technical writing skills and an interest for training

Experience with Android low-level development, allowing to teach our Android System Development course would also be a strong advantage, though not mandatory.

A first possibility is be hired in France. Being able to join one of our offices in France (Toulouse or Orange) will be an advantage, but working from home in other parts of France will be possible too. We are also open to people living in a country with the Euro currency, working from home, and able to work as full time contractors.

We have a first opening that we would like to fill between September and December 2012. If demand continues to grow, we expect to hire more engineers with the same profile in the following months. We also hope to expand the home based jobs to countries outside Europe in the next years, but it will take a bit more time.

See our careers page for a full description.

Embedded topics at the Libre Software Meeting, Geneva, July 9-11

Libre Software Meeting, Geneva
Libre Software Meeting, Geneva

The Libre Software Meeting is a community-driven free software event that exists since 2000, composed of talks and workshops. Its 2012 edition will take place from July 7th to July 12th in Geneva, Switzerland.

In the context of this conference, I was responsible with Florian Fainelli from the OpenWRT project to organize the Embedded systems and open hardware track. This track will offer an interesting selection of talks related to embedded topics, concentrated between July 9th and July 11th:

Geneva
Geneva

In the Operating Systems track, some other conferences might be of interested to Embedded Linux developers as well:

The entrace to the Libre Software Meeting is free, so don’t hesitate to book your train or flight tickets, and join us at this event!

Embedded Linux Conference 2012 videos

The 2012 edition of the Embedded Linux Conference took place on February 15-17th 2012 at Redwood Shores near San Francisco in California. Three engineers of Bootlin attended this conference, and we reported every day our impressions about the talks, see our blog posts for day 1, day 2 and day 3. We have now taken the time to encode all the videos we have recorded during this event, and are proud to distribute them today.

It is worth noting that for the first time, the Linux Foundation was also recording videos of the talks, the Linux Foundation videos are available from video.linux.com, and we included links to these videos below for the different talks.

We hope that those of you who couldn’t attend the conference will enjoy those videos, with many great talks on technical embedded Linux topics.

Jon CorbetVideo capture
Editor at LWN.net
The Kernel Report
Slides
Linux Foundation video
Bootlin video (53 minutes):
full HD (525M), 450×800 (154M)

Loïc PallardyVideo capture
Saving the Power Consumption of the Unused Memory
Slides
Bootlin video (46 minutes):
full HD (378M), 450×800 (125M)

Bernhard RosenkränzerVideo capture
Linaro
What Android and Embedded Linux Can Learn From Each Other
Slides
Linux Foundation video
Bootlin video (40 minutes):
full HD (370M), 450×800 (129M)

Ricardo Salveti de AraujoVideo capture
Linaro
Ubuntu on ARM: Improvements and Optimizations Done By Linaro
Slides
Linux Foundation video
Bootlin video (46 minutes):
full HD (301M), 450×800 (140M)

Zach PfefferVideo capture
Linaro
Binary Blobs Attack
Slides
Linux Foundation video
Bootlin video (50 minutes):
full HD (486M), 450×800 (157M)

Hisao MunakataVideo capture
Renesas Electronics
Close Encounters of the Upstream Resource
Slides
Linux Foundation video
Bootlin video (37 minutes):
full HD (394M), 450×800 (121M)

Daniel HurshVideo capture
IBM
Open Source Automated Test Framework
Slides
Bootlin video (45 minutes):
full HD (303M), 450×800 (132M)

Saul WoldVideo capture
Intel
The Yocto Project Overview and Update
Slides
Linux Foundation video
Bootlin video (54 minutes):
full HD (543M), 450×800 (171M)

Sean HudsonVideo capture
Mentor Graphics, Inc.
Embedded Linux Pitfalls
Slides
Bootlin video (51 minutes):
full HD (483M), 450×800 (176M)

Vincent GuittotVideo capture
Linaro
Comparing Power Saving Techniques For Multicore ARM Platforms
Slides
Linux Foundation video
Bootlin video (57 minutes):
full HD (307M), 450×800 (154M)

Tim BirdVideo capture
Sony Network Entertainment
Status of Embedded Linux
Slides
Linux Foundation video
Bootlin video (49 minutes):
full HD (492M), 450×800 (159M)

Bruce AshfieldVideo capture
Wind River
A View From the Trenches: Embedded Functionality and How It Impacts Multi-Arch Kernel Maintenance
Slides
Bootlin video (54 minutes):
full HD (741M), 450×800 (222M)

R DurgadossVideo capture
Intel
PeakCurrent Management in x86-Based Smartphones
Slides
Linux Foundation video
Bootlin video (50 minutes):
full HD (296M), 450×800 (141M)

Matt PorterVideo capture
Texas Instruments
Passing Time With SPI Framebuffer Driver
Slides

Bootlin video (54 minutes):
full HD (565M), 450×800 (172M)

WookeyVideo capture
Linaro
Multiarch and Why You Should Care: Running, Installing and Crossbuilding With Multiple Architectures
Slides
Bootlin video (42 minutes):
full HD (453M), 450×800 (143M)

Amit Daniel KachhapVideo capture
Linaro/Samsung
A New Simplified Thermal Framework For ARM Platforms
Slides
Linux Foundation video
Bootlin video (41 minutes):
full HD (226M), 450×800 (115M)

Tsugikazu ShibataVideo capture
NEC
On The Road: To Provide the Long-Term Stable Linux For The Industry
Slides
Linux Foundation video
Bootlin video (32 minutes):
full HD (304M), 450×800 (95M)

Thomas P. AbrahamVideo capture
Samsung Electronics
Experiences With Device Tree Support Development For ARM-Based SOC’s
Slides
Bootlin video (44 minutes):
full HD (509M), 450×800 (155M)

Paul E. McKenneyVideo capture
IBM
Making RCU Safe For Battery-Powered Devices
Slides
Linux Foundation video
Bootlin video (52 minutes):
full HD (506M), 450×800 (186M)

Mike AndersonVideo capture
Chief Technology Officer at The PTR Group
The Internet of Things
Slides
Linux Foundation video
Bootlin video (50 minutes):
full HD (580M), 450×800 (186M)

Thomas PetazzoniVideo capture
Bootlin
Buildroot: A Nice, Simple, and Efficient Embedded Linux Build System
Slides
Linux Foundation video
Bootlin video (56 minutes):
full HD (594M), 450×800 (182M)

Steven RostedtVideo capture
Red Hat
Automated Testing with ktest.pl (Embedded Edition)
Slides
Linux Foundation video
Bootlin video (102 minutes):
full HD (1,2G), 450×800 (354M)

David VomLehnVideo capture
Cisco
Intricacies of a MIPS Stack Backtrace Implementation
Slides
Linux Foundation video
Bootlin video (52 minutes):
full HD (345M), 450×800 (153M)

Edward HerveyVideo capture
Collabora
GStreamer 1.0: No Longer Compromise Flexibility For Performance
Slides
Linux Foundation video
Bootlin video (49 minutes):
full HD (540M), 450×800 (174M)

Tim BirdVideo capture
Sony Network Entertainment
Embedded-Appropriate Crash Handling in Linux
Slides
Linux Foundation video
Bootlin video (49 minutes):
full HD (292M), 450×800 (142M)

Arnd BergmannVideo capture
Linaro
ARM Subarchitecture Status
Slides
Linux Foundation video
Bootlin video (49 minutes):
full HD (416M), 450×800 (140M)

Mark GisiVideo capture
Wind River Systems
The Power of SPDX – Sharing Critical Licensing Information Within a Linux Device Supply Chain
Linux Foundation video
Bootlin video (49 minutes):
full HD (498M), 450×800 (164M)

Yoshitake KobayashiVideo capture
Toshiba
Ineffective and Effective Ways To Find Out Latency Bottlenecks With Ftrace
Slides
Linux Foundation video
Bootlin video (37 minutes):
full HD (251M), 450×800 (108M)

Ohad Ben-CohenVideo capture
Wizery / Texas Instruments
Using virtio to Talk With Remote Processors
Slides
Linux Foundation video
Bootlin video (54 minutes):
full HD (582M), 450×800 (182M)

Elizabeth FlanaganVideo capture
Intel
Embedded License Compliance Patterns and Antipatterns
Linux Foundation video
Bootlin video (44 minutes):
full HD (391M), 450×800 (144M)

David AndersVideo capture
Texas Instruments
Board Bringup: LCD and Display Interfaces
Slides
Linux Foundation video
Bootlin video (40 minutes):
full HD (207M), 450×800 (113M)

Rob ClarkVideo capture
Texas Instruments
DMA Buffer Sharing: An Introduction
Slides
Linux Foundation video
Bootlin video (35 minutes):
full HD (306M), 450×800 (100M)

Ken ToughVideo capture
Intrinsyc
Linux on eMMC: Optimizing For Performance
Slides
Linux Foundation video
Bootlin video (52 minutes):
full HD (468M), 450×800 (165M)

Paul LarsonVideo capture
Linaro
LAVA Project Update
Slides
Linux Foundation video
Bootlin video (52 minutes):
full HD (366M), 450×800 (159M)

Frank RowandVideo capture
Sony Network Entertainment
Real Time (BoFs)
Slides
Bootlin video (77 minutes):
full HD (924M), 450×800 (288M)

Mike TurquetteVideo capture
Texas Instruments
Common Clock Framework (BoFs)
Slides
Bootlin video (53 minutes):
full HD (333M), 450×800 (148M)

Hunyue YauVideo capture
HY Research LLC
Userland Tools and Techniques For Linux Board Bring-Up and Systems Integration
Slides
Linux Foundation video
Bootlin video (51 minutes):
full HD (407M), 450×800 (136M)

Matt WeberVideo capture
Rockwell Collins Inc.
Optimizing the Embedded Platform Using OpenCV
Slides
Linux Foundation video
Bootlin video (37 minutes):
full HD (388M), 450×800 (125M)

Greg UngererVideo capture
McAfee
M68K: Life in the Old Architecture
Slides
Linux Foundation video
Bootlin video (46 minutes):
full HD (452M), 450×800 (166M)

Gary BissonVideo capture
Adeneo Embedded
Useful USB Gadgets on Linux
Slides
Linux Foundation video
Bootlin video (43 minutes):
full HD (402M), 450×800 (129M)

Jason KridnerVideo capture
Texas Instruments
GUIs: Coming To Uncommon Goods Near You
Slides
Linux Foundation video
Bootlin video (52 minutes):
full HD (476M), 450×800 (166M)

Mike AndersonVideo capture
The PTR Group
Adapting Your Network Code For IPv6 Support
Slides
Linux Foundation video
Bootlin video (63 minutes):
full HD (485M), 450×800 (216M)

Koen KooiVideo capture
The Angstrom Distribution
Producing the Beaglebone and Supporting It
Linux Foundation video
Bootlin video (42 minutes):
full HD (398M), 450×800 (126M)

Danny BennettVideo capture
basysKom GmbH
HTML5 in a Plasma-Active World
Slides
Linux Foundation video
Bootlin video (34 minutes):
full HD (258M), 450×800 (75M)

Marcin MielczarczykVideo capture
Tieto
Getting the First Open Source GSM Stack in Linux
Slides
Linux Foundation video
Bootlin video (54 minutes):
full HD (439M), 450×800 (178M)

Pierre TardyVideo capture
Intel
PyTimechart Practical
Slides
Linux Foundation video
Bootlin video (32 minutes):
full HD (260M), 450×800 (86M)

Linus WalleijVideo capture
ST-Ericsson
Pin Control Subsystem Overview
Slides
Linux Foundation video
Bootlin video (60 minutes):
full HD (638M), 450×800 (200M)

Khem RajVideo capture
OpenEmbedded Project
OpenEmbedded – A Layered Approach
Slides
Linux Foundation video
Bootlin video (39 minutes):
full HD (227M), 450×800 (108M)

Lucas De MarchiVideo capture
ProFUSION Embedded Systems
Managing Kernel Modules With kmod
Slides
Linux Foundation video
Bootlin video (46 minutes):
full HD (443M), 450×800 (140M)

Jean PihetVideo capture
NewOldBits
A New Model for the System and Devices Latency
Slides
Bootlin video (49 minutes):
full HD (431M), 450×800 (146M)