In the context of our partnership with STMicroelectronics, we are now happy to announce the availability of our Yocto Project and OpenEmbedded development training also on the STM32MP1 platform for the practical labs. We now support either the BeagleBoneBlack Wireless or the STMicroelectronics STM32MP1 platforms for this training course.
This will hopefully help customers around the world to get started with using Yocto on the STM32MP1 system-on-chip. The Yocto experts at Bootlin are available to deliver this 3-day course anywhere in the world, at your location. The first edition of this new variant of the course is going to be given this week to one of our customers in Spain. Contact us if you’re interested by having this course organized at your location!
Since then, Bootlin engineer Paul Kocialkowski has been very busy preparing those training materials, and has successfully delivered the first edition of this course to one of our customers in Spain early September. After taking the time to polish those training materials following this first course, we are now very happy to publish and share this 200+ slides deck, covering a wide range of graphics related topics:
Image and color representation
Basic and advanced operations
Hardware aspects overview
Hardware for display
Hardware for rendering
Software aspects overview
Kernel components in Linux
Userspace components with Linux
See also the detailed agenda of this training course. The LaTeX source code for all our training materials, including this graphics training, is available in a Git repository. It is worth mentioning that this training only consists of slides and demos, and does not include practical labs done by the participants, in order to keep the training logistics manageable and the duration reasonably short (2 days).
Here are a few slides showing various aspects of this training course:
By publishing this training materials right after our first course, and under the Creative Commons CC-BY-SA license, Bootlin sticks to its commitment of publishing all its training materials under a free documentation license, to better spread the knowledge in the entire embedded Linux community.
For many years, Bootlin has been offering an Embedded Linux system development training course, which has been delivered world-wide to hundreds of engineers by Bootlin trainers. This course is the most appropriate one for engineers getting started with embedded Linux: it goes through all the software layers of an embedded Linux system, from the toolchain to the application, through the bootloader, Linux kernel and basic user-space. With numerous hands-on labs, attendees get practical experience during this training, and learn how to build their embedded Linux system from the ground-up.
This course has been available for a while in two variants:
A 5-day variant, which covers all topics, including flash storage and filesystems as well as-real time
A 4-day variant, which is identical to the 5-day variant, except that flash storage and filesystem and real-time are not covered
Presentation of the Long Term Supported releases of Buildroot, a topic we also presented in a previous blog post
Appearance of the new top-level utils/ directory, containing various utilities directly useful for the Buildroot user, such as test-pkg, check-package, get-developers or scanpypi
Removal of $(HOST_DIR)/usr/, as everything has been moved up one level to $(HOST_DIR), to make the Buildroot SDK/toolchain more conventional
Document the new organization of the skeleton package, now split into several packages, to properly support various init systems. A new diagram has been added to clarify this topic.
List all package infrastructures that are available in Buildroot, since their number is growing!
Use SPDX license codes for licensing information in packages, which is now mandatory in Buildroot
Remove the indication that dependencies of host (i.e native) packages are derived from the dependencies of the corresponding package, since it’s no longer the case
Indicate that the check for hashes has been extended to also allow checking the hash of license files. This allows to detect changes in the license text.
Update the BR2_EXTERNAL presentation to cover the fact that multiples BR2_EXTERNAL trees are supported now.
Use the new relocatable SDK functionality that appeared in Buildroot 2017.08.
The practical labs have of course been updated to use Buildroot 2017.08, but also Linux 4.13 and U-Boot 2017.07, to remain current with upstream versions. In addition, they have been extended with two additional steps:
Booting the Buildroot generated system using TFTP and NFS, as an alternative to the SD card we normally use
Using genimage to generate a complete and ready to flash SD card image
Join our Yocto specialist Alexandre Belloni for the first public session of this improved training in Lyon (France) on October 19-21. We are also available to deliver this training worldwide at your site, contact us!
At Bootlin, we owe a lot to the Free Software community, and we’re doing our best to give back as much as we can.
One way of doing that is welcoming community contributors in our public training sessions about embedded Linux, Linux kernel and Android system development organized in France. We’ve done that multiple times in the past, and this allowed us to meet very interesting people (who even had very valuable experience and points of view to share with the other course participants), while of course giving them extra knowledge that they can use for further contributions.
The next session in which we can offer a free seat is about Android system development, and will take place on June 20-23 in Toulouse, France. The session has a value of 1890 EUR (without V.A.T.) and includes lunch and breaks, as well as a free Beaglebone Black board with its 4.3″ LCD touchscreen cape.
This course will teach you how to modify Android to support a new embedded board (assuming that it is already supported by the Linux kernel), and how to build a real system through accessing specific hardware, customizing the filesystem and using debugging techniques.
How to apply?
You need to be a student or a contributor to a free software project, which doesn’t have to be related to the embedded field, and even if your contributions are modest.
Write to email@example.com before May. 30 and tell us about your contributions and your interest in the session.
Thomas Petazzoni and Michael Opdenacker will review all the proposals and will select the candidate who best stands out in terms of past contributions and/or in potential for further ones after taking the course. Bootlin reserves the right not to select any candidate if nobody actually makes a sufficiently interesting application.
The winner will be notified by June 2, and will have to be ready to travel to Toulouse and stay there the whole 4 days at her/his own expense.
Don’t hesitate to apply to this free seat. In past editions, we didn’t have so many people applying, and therefore you have a real chance to get selected!
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.
We 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.
We worked with the Xenomai developers, especially Gilles Chanteperdrix, to test and debug Xenomai on the Atmel Xplained platform. This effort lead to the addition of the support for the AIC5 interrupt controller found on the SAMA5D3 processor.
Of course, we deliver training courses on customer sites all around the world, but this will be the first one open to individual registration that we organize outside of France.
We are starting with an Android system development session in Southampton, UK.
You will enjoy the newest version of our Android course, based on Android 4.x, and using the BeagleBone Black as the development platform for the practical labs. As always in our training sessions, participants walk away with the board used during the practical labs (in this case the BeagleBone Black and its LCD cape), allowing them to continue their learning and experiments well after the end of the course.
Being a popular cruising destination, Southampton is easy to reach from other cities in the UK and in the world.
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.
As 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!