Root Linux Conference is the biggest tech conference on Linux, Embedded and Automotive software development in Eastern Europe.
These days, Linux is found in lots of smart things around us, including mobile devices, wearables, medical equipment, vehicles, and more. If you want to build the next generations of competitive embedded solutions be sure to join Root Linux Conference 2018.
Typical Mistakes when Submitting a New Code to Linux Kernel Language: English
Code review is a crucial part of developing a stable and robust open source project, such as Linux kernel. Newcomers and surprisingly many active and known contributors have been making the same mistakes, like using non-scalable APIs, over and over. How can we eliminate or avoid them? Considering the patterns the best practices would be suggested. In addition, relatively new Linux kernel APIs, such as Unified Device Properties, will be discussed.
Bio Andriy Shevchenko was born in Donetsk in 1977. He studied electronics at the State University of Donetsk and graduated in 1999. Andriy joined Intel Finland Oy in May 2011.
He has participated in few projects since and eventually become one of the active contributors to the Linux kernel.
Andriy has over ten years of software development experience in Linux environment, especially in a serial bus drivers area in the kernel programming. During this time he has contributed hundreds of patches to the Linux kernel. In his current position, he has been designing and developing a glue layer between ACPI and pin control framework.
Besides, Andriy has done a proof-of-concept (not yet in upstream) of correct run time power management support in 8250 UART driver.
GPIO and Pin Control for Embedded Systems. MMC/SD and a Little SDIO Language: English
GPIO and Pin Control for Embedded Systems The maintainer of two of the frameworks for embedded digital input-output will give a crash course in all the things you need to know about the pins that come out of a system on chip (SoC) from electrical configuration down to controlling the output/input of individual bits to/from the environment.
MMC/SD and a Little SDIO An overview of the framework for standard memory cards and the recent changes done to the framework will be given, from the physical cards, the history of it, the history and state of the Linux MMC/SD/SDIO stack all the way to the interface to the block layer.
Bio Linus Walleij is a subsystem maintainer of the pin control and GPIO subsystems of the Linux kernel. Apart from this, he occasionally works with diverse ARM32 systems and device drivers. He holds a master of science in computer science and a bachelor of the social sciences in research policy. He likes sports such as step aerobics and bodypump and enjoys cooking.
Xen Paravirtualized Devices: a Description of the Architecture Language: English
Xen, like most of the other available virtualization solutions, is making use of paravirtualized devices in order to speed up I/Os of guest systems. Juergen's presentation will show how those paravirtualized devices are working: which basic mechanisms are used for their realization, which components are involved, how are they instantiated, how are they doing I/Os. Juergen will go into detail on how the different components are working together during the life cycle of a paravirtualized device and which measures have been taken for performance and security. You will see in detail how a single I/O is being performed and how the I/O data flow between the guest and the physical device looks like.
Bio Born 1964 in Germany, Juergen Gross studied physics and started his IT career in 1989 at Siemens in the mainframe department. Doing the major work to enable the mainframe OS "BS2000" to run as a Xen guest on X86 machines brought him in contact with the Xen community. Juergen has joined SUSE in 2014 as Linux kernel developer being responsible for the Xen hypervisor interfaces in the Suse Linux kernel.
He is a maintainer of the Xen hypervisor cpupools. Since 2016, he has been one of the Linux kernel maintainers of the Xen-specific kernel code, and in October 2017 he became a maintainer of the x86 paravirt framework of the Linux kernel.
Why Use TEE's and How to Avoid Mistakes when Working with Them Language: English
Trusted Execution Environments (TEE in short) are starting to gain more an more traction, but still many people believe that they mainly exist because of DRM protection. In this talk Joakim Bech is going to give an overview of what you can do with it and where it is in use already today. In addition to that, he will talk about some examples of other areas where it could be useful to enable a TEE.
At the second part to this talk we are going to have a look at some (old and) known issues that one has to be aware of when doing development for a TrustZone environment. As it turns out, even though you have much better security when using a hardware assisted environment there are still things that can go wrong.
Bio Joakim Bech manages planning and strategic goals for Linaro's security efforts. Joakim and his team has been a key player in open sourcing the Trusted Execution Environment (TEE) solution called OP-TEE.
Joakim is also the Technical Lead for the Security Working Group where he is responsible for the techniques and features developed by the working group. Prior to Linaro he spent 10 years in the telecom industry working for companies such as Sony Ericsson, EMP and ST-Ericsson. His roles have included architect, team leader, and development engineer.
His primary focus was embedded security where he was a contributor to the GlobalPlatform based TEE / TrustZone solution which was created and used by ST-Ericsson. For that particular TEE solution, he focused on user space, kernel driver, and Trusted OS implementation. Joakim also has experience with developing crypto drivers for hardware accelerated crypto IPs.
Modular Cell Phone Software: Mainline Kernel and PostmarketOS Language: English
It would be nice to have a real operating system on a cellphone, good enough to run common applications, and modular so that parts can be modified without huge effort. At the moment, we do have suitable hardware (Nokia N900, N9, Motorola Droid 4) and most of necessary kernel support.
Pavel Machek will explain what parts are missing or need improvement in the kernel. Unfortunately, situation is not nearly as good in the userland -- some rather important parts are missing (suitable windowing system, audio management, voice calls, camerasupport) or are in proof-of-concept stage. Hopefully, the situation will improve soon, because great community is gathering around PostmarketOS.
Bio Pavel Machek hacked kernel for SUSE for almost 10 years, including work on USB stack, x86-64 port and hibernation. He currently hacks kernels, bootloaders, and complete systems in cooperation with DENX Software Engineering GmbH. In the last few years, he started hacking mobile phones, with a goal of running common distributions on them.
HDMI CEC (Consumer Electronics Control): Intro & Status Update Language: English
This presentation introduces the HDMI CEC protocol and gives an update of the latest status of the HDMI CEC subsystem in the kernel. Special attention will be given to the new CEC error injection framework. If you ever wondered how to automatically turn on your TV, then this talk will tell you all about that!
Bio Hans Verkuil started contributing patches to the MPEG encoder/decoder ivtv driver in early 2004 and it snowballed from there. Since 2013 he is a video4linux co-maintainer responsible for V4L2 bridge drivers and video receivers and transmitters. Since 2016, he also maintains the HDMI CEC framework.
Hans lives in Oslo, Norway, working as a senior R&D software engineer at Cisco Systems Norway, developing — surprise! — video4linux drivers.
Intel GVT-g: Integration into XenServer Language: English
This talk will give an overview of virtual graphics in Citrix XenServer. It will give background on the nature of device emulation in Xen and guest graphics stacks, and then go into particular detail on one of the vendor solutions, Intel’s GVT-g, covering the architecture as well as the current and proposed future implementations in XenServer. The talk will also cover other vendor solutions from NVIDIA and AMD, and recent work on virtual GPU migration.
Bio Paul Durrant is a Senior Principal Software Engineer in the XenServer platform group of Citrix Systems R&D, based in Cambridge, UK. His chief responsibilities are Windows Paravirtual drivers, Virtual GPU subsystem, and the guest storage and network data-paths. His work has given him broad experience of Xen (hypervisor, tools and firmware), PV protocols and QEMU. Paul has been a kernel level programmer since he graduated from the University of Cambridge (BA CompSci) in 1994, generally specializing in network drivers. He spent several years in Solaris kernel group at Sun Microsystems where he was responsible for the kernel network driver interface (a.k.a. GLD) and then, prior to joining Citrix, Paul spent a few years at Solarflare Communications working on their user-space low latency TCP/IP stack.
Make Your Own USB Gadget Language: English
A USB gadget is a device which has a USB Device Controller and can be connected to a host to extend it with additional functions. Creating a gadget means deciding what configurations there are and which functions each configuration provides. So far the choice had to be made statically at kernel compile time. Configfs can be used to tell the kernel about the above mentioned decision at runtime; no need to compile anything, all required components are available in mainline. Composing a new gadget of existing functions does not involve USB maintainers any more, basic shell scripting is enough.
Bio Andrzej Pietrasiewicz graduated from Warsaw University of Technology, Faculty of Electronics and Information Technology, Warsaw, Poland in 2002. From then on he had been developing systems in C++ for over 5 years. Then for 3 years he had been involved in various smaller projects and development of an Eclipse-based IDE. For over 5 years he has been working on the Linux kernel.
Andrzej is the original author and co-maintainer of drivers/media/platform/s5p-jpeg and has significantly contributed to converting USB gadgets and functions to configfs. He spoke at LinuxCon North America 2013, 2014 and 2015, as well as Plumbers 2013 and 2015, Jesien Linuksowa 2016 and LVEE 2017. For five years he has been successfully delivering five-part kernel programming trainings with hands-on sessions to his fellow employees at Samsung R&D Institute Poland, his current employer.
USB Attacks Explained Language: English
USB is the most common external interface in the world. Even machines which, for security reasons, are disconnected from the Internet often offer a USB connectivity. This creates a new attacks surface for skilled hackers. USB implementation may be exploited on various levels. To effectively protect against such attack, knowledge about already exploited vulnerabilities is required. This talk is a survey of state-of-the-art USB-related attack and defense methods.
Bio Krzysztof Opasiak is a PhD student at Warsaw University of Technology. He works as Kernel and System Developer at Samsung R&D Institute Poland. Since 2013 involved in USB support development in Tizen OS. Maintainer of libusbgx, a library for USB gadgets management through ConfigFS. Open Source enthusiast and speaker at several Linux and Open Source Conferences.