Embedded Linux Conference Europe 2013 will conveniently start right after LinuxCon 2013, last 2 days (October 23-24), and take place at the same location: the Edinburgh International Conference Center, Edinburgh, United Kingdom.
The Linux Foundation has published the schedule for the conference, so I’ll make my own virtual schedule with sessions that I find particularly interesting.
Thursday – 24th of October
Today, Linux is woven into the fabric of our technology. Things such as printers, routers, TVs and phones all have their own “Inner Penguin”. Yet it was never originally intended to be used beyond desktop and server PCs. A lot of things had to happen before Linux could break out of the PC environment and make its way in the world as a jobbing jack-of-all-trades. Since the early beginnings of embedded Linux in the late 1990′s many people have contributed time and know-how that has resulted in today’s Linux based embedded operating systems. This talk describes some of the key milestones and the events and people behind them.
In his keynote at the last Embedded Linux Conference, David shared a sample of the paranoia embedded developers should be exhibiting over security risks but often don’t. In this follow-up, David will share the stream of surprising and useful security features added to the Yocto Project, and demonstrate some of the new features which accelerate developer productivity and fun.
The conversion of the ARM Linux kernel over to the Device Tree as the mechanism to describe the hardware has been a significant change for ARM kernel developers. Nowadays, all developers porting the Linux kernel on new ARM platforms, either new SOCs or new boards, have to work with the Device Tree. Based on practical examples, this talk intends to provide a “getting started guide” for newcomers in the Device Tree world: what is the Device Tree? How is it written and compiled? How do the bootloader and kernel interact? How are Device Tree bindings written and documented? What are the best practices for writing Device Trees and the bindings?
With increasing CPU speeds, other bottlenecks arise; e.g. branch prediction and memory latency. In this talk we’ll explore how to identify performance issues using perf, and how to take these bottlenecks away. We’ll discuss prefetching (both hardware and software), conditional execution, and how we can use the compiler to help us. Finally, we’ll do an analysis of the resulting improvements using both simulations and actual RTL.>
It’s possible to build Linux for tiny devices without MMUs through to enormous multi-core servers. But is there anything remotely similar about the resulting systems? Is it sane to run Linux on a micro-controller? This talk will compare the anatomy of a uClinux/noMMU system to ‘normal’ ones, specifically looking at the difference between Linux running on Cortex A, R and M-class cores (M-class support has recently arrived in mainline!). Areas covered will include: notable missing kernel features (eg fork()!), binary format support, shared libraries, multitasking and security, as well as some of the implications to userspace of these differences. It will also cover some of the possible improvements to the way Linux uses features of R/M class cores, hopefully provoking some discussion on, for example, how to make better use of the Memory Protection Unit (supported in 3.11).
The EFL is a set of libraries that provide stable API/ABI, high efficiency, low memory usage, and works seamlessly with and without hardware (GPU) acceleration. These reasons and more are why the EFL are being used, on refrigerators, home automation systems, mobile devices, and the Tizen mobile platform among others. In this presentation, Tom will present an overview of the EFL, review the current state, and discuss the future plans for the project. Tom will also present new and future projects that improve the EFL development experience.
The LLVM project is an extensive compiler technology suite which is becoming commonplace in many industries. Technology built with LLVM is already shipped in millions of Linux devices as a part of Android/Renderscript. Increasingly it is becoming a big part of the development process for embedded projects, all the way up through to high performance computing clusters. This session will provide an update on the status of the LLVMLinux project; a project which is cooperating with both the Linux kernel and LLVM communities to build the Linux kernel with Clang/LLVM. This talk is for developers and system integrators who are interested in LLVM technologies and using clang to build the Linux Kernel.
Friday – 25th of October
- 9:30 – 10:10 – Keynote – Embedded Build Systems Panel with Tim Bird, Sony Mobile; Ross Burton, Intel; Thomas Petazzoni, Free Electrons; Karim Yaghmour, Opersys; Jeff Osier-Mixon, Intel (Moderator)
Embedded Linux isn’t like “normal” Linux, which is available in tidy little distros where someone else makes all the tough decisions about what gets included. In the embedded world, the developer decides everything from the system content to the method for building that content into a cohesive package, and very often that same developer also makes decisions about the hardware. This is one busy developer. So in that context, the question of “which embedded Linux is best?” takes on many facets. Which kernel, which packages, and which drivers? Which build system is best, and under which circumstances? Should I start with Buildroot, use a pre-designed solution like Android, follow emerging standards like the Yocto Project, or just DIY – which even some large corporations do? This panel brings together a team of four seasoned embedded engineers to discuss how they make decisions and solve problems.
Embedded Linux is being used in more and more fields of: consumer, industrial and communication devices. Security is becoming an increasingly important issue for producers and users of these systems. Security of embedded systems is not only about: non-trivial root password, encrypted communication protocols and signed firmware. Both: the design of the device itself and the fact that It often works autonomously, in an inaccessible location, opens up a whole new possible fields of attack. Marcin Bis will review various methods of securing and encrypting whole system on various ARM-based hardware. Complete, working solution of ecryptfs, NAND encryption and secure boot techniques combined to provide a passively-secured system will be demonstrated, including a build system. The presentation is based on experience gained during R&D on home and industrial automation products.
Debugging, tracing and profiling are key tasks of any development process, including Linux kernel ones. In this area, the mainline Linux kernel comes with support for several internal events, probe primitives and break/watch functionality. Linux kernel communities provide many tools to use these features, either maintained in the mainline kernel, either available as external modules. Of course, no tool can replace a skilled developer with a good knowledge of the kernel, however that fact does not make tools useless either. In this presentation, Nicolas Launet will review several debugging, tracing and profiling tools freely available for Linux kernel development, expose how they work and discuss their strengths and limitations. The presentation will be illustrated with examples using kgdb, lttng, systemtap, perf and others.
As we all know Linus is a colorful character, but his taste in software design is impeccable. So it was hardly a big surprise when the famous edict about having all new ARM boards to use Device Tree, instead of a board file, was made. That single change forced a momentous shift in Linux based embedded software development, since a long list of cherished idioms (and a lot of questionable practices) have had to change. Device Tree due to it’s purely data driver model, and focus on reusability, is quite tricky to come at terms at first, which is something we discovered during our porting efforts of the Beaglebone board support to DT. Join me in discussing they why, the how, and learn the hard lessons we at Beagleboard have learned moving to this new paradigm.
Getting a new embedded linux device up and running is not easy. It involves debugging your software, which hasn’t been tested yet, and the hardware at the same time, with no way to know which one is at fault. Software debugging techniques are well known in the community, but debugging techniques for hardware aren’t. To goal of this talk is to give an overview of how to figure out whether the problem is hardware or software, to debug hardware in an efficient manner, to spot errors in the hardware design that weren’t visible until the software has been considered and presenting a workflow with which most problems can be pinned down.
Computer vision capabilities are a key enabler of autotomous robotic control, allowing machines to make decisions based on what they “see.” The OpenCV library is an open source computer vision and machine learning library used by companies including Intel, Google, Sony, Honda, and Toyota. This talk will explore the use of OpenCV in a fun autonomous robotics project that is affordable and easy to replicate, using the power of the Yocto Project embedded Linux platform (yoctoproject.org) and the MinnowBoard (minnowboard.org).
There are also other interesting sessions as well, but since schedule conflicted, I had to make some choices.
If you want to attend the conference, you can register online.
The fees are as follows:
Early Registration Fee – US$400 (through July 14th)
- Standard Registration Fee – US$475 (July 15th – October 1st)
- Late Registration Fee – US$550 (After October 1st)
- Hobbyist Registration Fee – US$150
If you’re also planning to attend LinuxCon Europe 2013 on October 21-23, you’ll be illegible for a $200 discount. which still make the entry fee costs $375 for LinuxCon. Automotive Linux Summit Fall 2013 will also take place on October 24-25, and if you attend ELCE 2013 too, you can get another $200 saving, with the ALS fee being reduced to $150.